以下は、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