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

Oracleの日付にAD/BCインジケーターを追加する方法

    TO_CHAR()を使用する場合 Oracle Databaseで日時値をフォーマットする関数の場合、ADのいずれかを追加するだけでAD/BCインジケーターを追加できます。 またはBC フォーマットモデルに。

    次に、日付の値がADかBCかに応じて、Oracleは適切なインジケータを表示します。

    大文字または小文字、ドットの有無にかかわらず指定できます(例:ADA.D. ada.d 、など)。その後、Oracleは指定されたとおりにインジケーターを表示します。

    デモンストレーションの例を次に示します。

    SELECT 
        TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD')
    FROM DUAL;

    結果:

    30-12-2030 AD

    この場合、日付はADであるため、結果にはADが含まれます。 追加。

    ADとBC

    Oracleは、ADかBCかを判断し、該当するインジケーターを表示します。

    日付をBC値に変更すると、次のようになります。

    SELECT 
        TO_CHAR(date '-2030-12-30', 'DD-MM-YYYY AD')
    FROM DUAL;

    結果:

    30-12-2030 BC

    フォーマット文字列がADであっても、結果のインジケーターはBCです。 。

    大文字と小文字

    format要素の大文字と小文字を変更すると、結果の大文字と小文字が変わります。

    SELECT 
        TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD') AS "Uppercase",
        TO_CHAR(date '2030-12-30', 'DD-MM-YYYY ad') AS "Lowercase",
        TO_CHAR(date '2030-12-30', 'DD-MM-YYYY Ad') AS "Mixed"
    FROM DUAL;

    結果:

           Uppercase        Lowercase            Mixed 
    ________________ ________________ ________________ 
    30-12-2030 AD    30-12-2030 ad    30-12-2030 Ad   

    ドットとドットなし

    必要に応じてドットを含めることができます:

    SELECT 
        TO_CHAR(date '2030-12-30', 'DD-MM-YYYY A.D.') AS "Uppercase",
        TO_CHAR(date '2030-12-30', 'DD-MM-YYYY a.d.') AS "Lowercase",
        TO_CHAR(date '2030-12-30', 'DD-MM-YYYY A.d.') AS "Mixed"
    FROM DUAL;

    結果:

             Uppercase          Lowercase              Mixed 
    __________________ __________________ __________________ 
    30-12-2030 A.D.    30-12-2030 a.d.    30-12-2030 A.D.    

    ただし、これは大文字と小文字が混在するインジケーターに影響することに注意してください。

    今日の日付と時刻

    ここでは、SYSDATEを渡します 現在の日付を使用するには:

    SELECT 
        TO_CHAR(SYSDATE, 'DD-MM-YYYY A.D.')
    FROM DUAL;

    結果:

    29-08-2021 A.D.

    1. SQL:2つのフィールドに基づいて重複を見つける方法は?

    2. クライアントのNLS_LANGを確認するにはどうすればよいですか?

    3. 遅いクエリでMySQLのパフォーマンスの問題を特定する方法

    4. Access2016でフォームコントロールのサイズを変更する方法