sql >> データベース >  >> RDS >> Oracle

Oracleの日付から年を取得する2つの関数

    以下は、OracleDatabaseの日付から年を抽出するために使用できる2つの関数です。

    EXTRACT() 機能

    EXTRACT(datetime)を使用できます 日時値からさまざまな日時部分を抽出する関数。これには年が含まれます。

    次に例を示します:

    SELECT EXTRACT(YEAR FROM DATE '2030-12-25')
    FROM DUAL;

    結果:

    2030

    YEARです 日付から年の部分を抽出するキーワード。関連するキーワードに変更することで、他の日付部分を取得できます。例:MONTHDAYHOURMINUTE 、など。

    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   

    1. psqlクライアントは今チェス盤になることができます…

    2. MySQL NULLIF()の説明

    3. MySQLまたはMariaDBGaleraクラスターでレプリケーションパフォーマンスを向上させる方法

    4. Oracle SQL Developerでパッケージを作成する方法は?