Når du bruger TO_CHAR()
funktion til at formatere en datetime-værdi i Oracle Database, kan du tilføje AD/BC-indikatoren ved blot at tilføje enten AD
eller BC
til din formatmodel.
Oracle viser derefter den relevante indikator, afhængigt af om datoværdien er AD eller BC.
Du kan angive det med store eller små bogstaver og med eller uden prikker (f.eks. AD
, A.D.
ad
, a.d
, etc). Oracle vil derefter vise indikatoren som angivet.
Eksempel
Her er et eksempel til demonstration:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Resultat:
30-12-2030 AD
I dette tilfælde er datoen AD, og resultatet har derfor AD
vedlagt.
AD vs. BC
Oracle regner ud, om det er AD eller BC, og viser den relevante indikator.
Her er, hvad der sker, når jeg ændrer datoen til en BC-værdi:
SELECT
TO_CHAR(date '-2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Resultat:
30-12-2030 BC
Den resulterende indikator er BC, selvom min formatstreng er AD
.
Store bogstaver vs. små bogstaver
Ændring af store og små bogstaver i formatelementet ændrer størrelsen på resultatet:
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;
Resultat:
Uppercase Lowercase Mixed ________________ ________________ ________________ 30-12-2030 AD 30-12-2030 ad 30-12-2030 Ad
Prikker vs. Ingen prikker
Du kan inkludere prikker, hvis du foretrækker:
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;
Resultat:
Uppercase Lowercase Mixed __________________ __________________ __________________ 30-12-2030 A.D. 30-12-2030 a.d. 30-12-2030 A.D.
Bemærk dog, at dette påvirkede indikatoren for blandede store og små bogstaver.
Dagens dato og klokkeslæt
Her sender jeg SYSDATE
for at bruge den aktuelle dato:
SELECT
TO_CHAR(SYSDATE, 'DD-MM-YYYY A.D.')
FROM DUAL;
Resultat:
29-08-2021 A.D.