Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So fügen Sie den AD/BC-Indikator zu einem Datum in Oracle hinzu

Bei Verwendung von TO_CHAR() Funktion zum Formatieren eines datetime-Werts in Oracle Database können Sie den AD/BC-Indikator hinzufügen, indem Sie einfach entweder AD hinzufügen oder BC zu Ihrem Formatmodell.

Oracle zeigt dann den entsprechenden Indikator an, je nachdem, ob der Datumswert AD oder BC ist.

Sie können es in Groß- oder Kleinbuchstaben und mit oder ohne Punkte angeben (z. B. AD , A.D. ad , a.d , etc). Oracle zeigt dann den Indikator wie angegeben an.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung:

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

Ergebnis:

30-12-2030 AD

In diesem Fall ist das Datum AD, also hat das Ergebnis AD angehängt.

AD gegen BC

Oracle ermittelt, ob es sich um AD oder BC handelt, und zeigt den entsprechenden Indikator an.

Folgendes passiert, wenn ich das Datum in einen BC-Wert ändere:

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

Ergebnis:

30-12-2030 BC

Der resultierende Indikator ist BC, obwohl mein Formatstring AD ist .

Großbuchstaben vs. Kleinbuchstaben

Die Änderung der Groß-/Kleinschreibung des format-Elements ändert die Groß-/Kleinschreibung des Ergebnisses:

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;

Ergebnis:

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

Punkte vs. keine Punkte

Sie können Punkte einfügen, wenn Sie möchten:

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;

Ergebnis:

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

Beachten Sie jedoch, dass dies den Indikator für gemischte Groß- und Kleinschreibung beeinflusst hat.

Heutiges Datum und Uhrzeit

Hier übergebe ich SYSDATE um das aktuelle Datum zu verwenden:

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

Ergebnis:

29-08-2021 A.D.