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

Oracleで日付から月の名前を取得する方法

    Oracle Databaseでは、TO_CHAR(datetime) 指定した方法でフォーマットされた日時値を返すことができます。

    私たちにできることの1つは、日付から月の名前を返すことです。

    完全な月の名前

    日付から月の名前を返す場合は、完全な月の名前またはその省略形を取得するオプションがあります。

    完全な月の名前を取得するには、MONTHを使用します フォーマット要素:

    SELECT TO_CHAR(DATE '2035-10-03', 'MONTH')
    FROM DUAL;

    結果:

    OCTOBER

    短い月の名前

    月の省略名を取得するには、MONを使用します :

    SELECT TO_CHAR(DATE '2035-10-03', 'MON')
    FROM DUAL;

    結果:

    OCT

    キャピタライゼーション

    キャピタライゼーションを使用して、出力のキャピタライゼーションを決定できます:

    SELECT 
        TO_CHAR(DATE '2035-10-03', 'Month') AS "Month",
        TO_CHAR(DATE '2035-10-03', 'month') AS "month",
        TO_CHAR(DATE '2035-10-03', 'Mon') AS "Mon",
        TO_CHAR(DATE '2035-10-03', 'mon') AS "mon"
    FROM DUAL;

    結果:

           Month        month    Mon    mon 
    ____________ ____________ ______ ______ 
    October      october      Oct    oct   

    言語

    月の名前の言語は、NLS_DATE_LANGUAGEを使用して明示的に決定されます。 初期化パラメータまたはNLS_LANGUAGEを使用して暗黙的に 初期化パラメータ。

    NLS_LANGUAGEの値を明示的に設定できます ALTER SESSIONのパラメータ 声明。これを行うと、NLS_DATE_LANGUAGEの値も暗黙的に設定されます パラメータ。

    ただし、NLS_DATE_LANGUAGEを設定する パラメータはNLS_LANGUAGEの値を変更しません パラメータ。これにより、必要に応じて、スペル値を返すフォーマット要素に別の言語を指定できます。

    NLS_DATE_LANGUAGEを設定する例を次に示します。 パラメータを別の言語に変更してから、月の名前を再度取得します:

    ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
    SELECT 
        TO_CHAR(DATE '2037-10-03', 'Month') AS "Full Month Name",
        TO_CHAR(DATE '2037-10-03', 'Mon') AS "Short Month Name"
    FROM DUAL;

    結果:

       Full Month Name    Short Month Name 
    __________________ ___________________ 
    Oktober            Okt                

    デフォルトの言語は、言語を指定する3番目のパラメーターを使用して関数レベルでオーバーライドできます。

    ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
    SELECT 
        TO_CHAR(
            DATE '2037-10-03', 
            'Month', 
            'NLS_DATE_LANGUAGE = Spanish' 
        )
    FROM DUAL;

    結果:

    OCTOBER

    Oracleで日時値をフォーマットするために使用できるフォーマット要素は他にもたくさんあります。完全なリストについては、Oracleの日時フォーマット要素のリストを参照してください。


    1. バックエンドデータベースが新しい場所に移動した後、Access2016でリンクされたテーブルを更新する方法

    2. PostgreSQLで暗号化されたパスワードを使用してユーザーを作成する

    3. Spring Batch ORA-08177:単一のジョブを実行している場合、このトランザクションへのアクセスをシリアル化できません、SERIALIZED分離レベル

    4. 行ごとではなく、DataTable全体を一度にデータベースに挿入しますか?