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

Oracleで日付をフォーマットするときの曜日と月の名前の大文字化

    Oracleの日付から日や月の名前を取得する場合は、大文字、小文字、またはタイトルを大文字で返すことができます。

    幸いなことに、これは簡単に実行できます。結果は、フォーマットモデルの大文字化を反映しています。

    TO_CHAR()を使用する場合 日付値から日付部分を返すには、1つ以上のフォーマット要素を使用してフォーマットモデルを作成します。このフォーマットモデルは、日付が返されるときに日付がどのようにフォーマットされるかを決定します。

    DAYを使用できます およびMONTH 要素をフォーマットして、それぞれ日名と月名を返します。

    ただし、重要なのは、これらのフォーマット要素に使用する大文字と小文字が、結果の大文字と小文字を決定することです。

    例:

    SELECT 
        TO_CHAR( DATE '2037-12-03', 'month' ) AS "month",
        TO_CHAR( DATE '2037-12-03', 'Month' ) AS "Month",
        TO_CHAR( DATE '2037-12-03', 'MONTH' ) AS "MONTH"
    FROM DUAL;

    結果:

           month        Month        MONTH 
    ____________ ____________ ____________ 
    december     December     DECEMBER    

    DAYも同じです フォーマット要素:

    SELECT 
        TO_CHAR( DATE '2037-12-03', 'day' ) AS "day",
        TO_CHAR( DATE '2037-12-03', 'Day' ) AS "Day",
        TO_CHAR( DATE '2037-12-03', 'DAY' ) AS "DAY"
    FROM DUAL;

    結果:

             day          Day          DAY 
    ____________ ____________ ____________ 
    thursday     Thursday     THURSDAY     

    日または月の短縮版を返す場合にも適用されます。

    例:

    SELECT 
        TO_CHAR( DATE '2037-12-03', 'mon' ) AS "mon",
        TO_CHAR( DATE '2037-12-03', 'Mon' ) AS "Mon",
        TO_CHAR( DATE '2037-12-03', 'MON' ) AS "MON"
    FROM DUAL;

    結果:

       mon    Mon    MON 
    ______ ______ ______ 
    dec    Dec    DEC   

    そして:

    SELECT 
        TO_CHAR( DATE '2037-12-03', 'dy' ) AS "dy",
        TO_CHAR( DATE '2037-12-03', 'Dy' ) AS "Dy",
        TO_CHAR( DATE '2037-12-03', 'DY' ) AS "DY"
    FROM DUAL;

    結果:

        dy     Dy     DY 
    ______ ______ ______ 
    thu    Thu    THU   

    おそらくあまり知られていない事実は、OracleDatabaseが通年をスペルト小麦で返すフォーマット要素も提供しているということです。具体的には、YEAR およびSYEAR (紀元前の日付に対応するため)

    これらのフォーマット要素の大文字化も出力に影響します:

    SELECT 
        TO_CHAR( DATE '2037-12-03', 'year' ) AS "year",
        TO_CHAR( DATE '2037-12-03', 'Year' ) AS "Year",
        TO_CHAR( DATE '2037-12-03', 'YEAR' ) AS "YEAR"
    FROM DUAL;

    結果:

                      year                   Year                   YEAR 
    ______________________ ______________________ ______________________ 
    twenty thirty-seven    Twenty Thirty-Seven    TWENTY THIRTY-SEVEN    

    そして:

    SELECT 
        TO_CHAR( DATE '-2037-12-03', 'syear' ) AS "syear",
        TO_CHAR( DATE '-2037-12-03', 'Syear' ) AS "Syear",
        TO_CHAR( DATE '-2037-12-03', 'SYEAR' ) AS "SYEAR"
    FROM DUAL;

    結果:

                      syear                   Syear                   SYEAR 
    _______________________ _______________________ _______________________ 
    -twenty thirty-seven    -Twenty Thirty-Seven    -TWENTY THIRTY-SEVEN   

    Syearでタイトルケースを適用する場合 format要素の場合、最初の文字であるSのみを覚えておく必要があります。 文字–大文字で、残りのすべての文字は小文字です(Yを含む) 文字):


    1. SQLServerでの照合

    2. 1000を超える値をOracleIN句に入れる方法

    3. テーブル、フィールド、スキーマ名を使用して、参照されているテーブル名を検索します

    4. C#およびODP.NETからパッケージ内の関数を呼び出すためのコード