以下は、OracleDatabaseの日付から年を抽出するために使用できる2つの関数です。
EXTRACT() 機能
EXTRACT(datetime)を使用できます 日時値からさまざまな日時部分を抽出する関数。これには年が含まれます。
次に例を示します:
SELECT EXTRACT(YEAR FROM DATE '2030-12-25')
FROM DUAL; 結果:
2030
YEARです 日付から年の部分を抽出するキーワード。関連するキーワードに変更することで、他の日付部分を取得できます。例:MONTH 、DAY 、HOUR 、MINUTE 、など。
TIMESTAMPなどの他の日時値で関数を使用することもできます。 、など。
この関数を使用して、間隔から年を返すこともできます。 EXTRACT(datetime)を参照してください 例として、Oracleでの関数。
TO_CHAR(datetime) 機能
TO_CHAR(datetime)を使用することもできます 日付から年を取得するための代替方法として機能します。
この関数は、datetime またはinterval値を最初の引数として受け入れ、フォーマットモデルを2番目の引数として受け入れます。次に、関数は値をVARCHAR2のデータ型に変換します 指定された形式で。
formatモデルは、datetime/interval値を返すフォーマットを指定します。フォーマットモデルは、1つ以上の
年のみを返したい場合は、YYYYを使用できます。 フォーマット要素:
SELECT TO_CHAR(DATE '2027-10-03', 'YYYY')
FROM DUAL; 結果:
2027
フォーマットモデルの代替を使用することもできます。たとえば、YYを使用できます 2桁の年を指定するには:
SELECT TO_CHAR(DATE '2027-10-03', 'YY')
FROM DUAL; 結果:
27
実際、1〜4個のYを使用できます。 要件に応じた文字:
SELECT
TO_CHAR(DATE '2027-10-03', 'Y') AS Y,
TO_CHAR(DATE '2027-10-03', 'YY') AS YY,
TO_CHAR(DATE '2027-10-03', 'YYY') AS YYY,
TO_CHAR(DATE '2027-10-03', 'YYYY') AS YYYY
FROM DUAL; 結果:
Y YY YYY YYYY ____ _____ ______ _______ 7 27 027 2027
カンマを含める
Y,YYYを使用できます 出力にコンマを含める場合は、フォーマット要素:
SELECT TO_CHAR(DATE '2027-10-03', 'Y,YYY')
FROM DUAL; 結果:
2,027
年を綴る
YEARを使用することもできます スペルアウトされた年を返すformat要素:
SELECT TO_CHAR(DATE '2027-10-03', 'YEAR')
FROM DUAL; 結果:
TWENTY TWENTY-SEVEN
BC日付
年形式要素の前にSを付けることで、BCの日付に対応することもできます。 。これを行うと、必要に応じて、結果の前にマイナス記号が付きます。
SELECT
TO_CHAR(DATE '-250-10-03', 'SYYYY') AS SYYYY,
TO_CHAR(DATE '-250-10-03', 'SYEAR') AS SYEAR
FROM DUAL; 結果:
SYYYY SYEAR ________ _____________ -0250 -TWO FIFTY
代わりに、BCまたはB.Cを使用することもできます。 BCの日付に対応するためのフォーマット要素:
SELECT
TO_CHAR(DATE '-250-10-03', 'YYYY BC') AS YYYY,
TO_CHAR(DATE '-250-10-03', 'YEAR BC') AS YEAR,
TO_CHAR(DATE '250-10-03', 'YYYY BC') AS YYYY,
TO_CHAR(DATE '250-10-03', 'YEAR BC') AS YEAR
FROM DUAL; 結果:
YYYY YEAR YYYY YEAR __________ _______________ __________ _______________ 0250 BC TWO FIFTY BC 0250 AD TWO FIFTY AD