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.