Bij gebruik van de TO_CHAR()
functie om een datetime-waarde op te maken in Oracle Database, kunt u de AD/BC-indicator toevoegen door simpelweg AD
toe te voegen of BC
naar uw formaatmodel.
Oracle geeft dan de juiste indicator weer, afhankelijk van of de datumwaarde AD of BC is.
U kunt het in elke hoofdletter of kleine letter opgeven, en met of zonder punten (bijv. AD
, A.D.
ad
, a.d
, enzovoort). Oracle zal dan de indicator weergeven zoals gespecificeerd.
Voorbeeld
Hier is een voorbeeld om te demonstreren:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Resultaat:
30-12-2030 AD
In dit geval is de datum AD, en dus heeft het resultaat AD
toegevoegd.
AD versus BC
Oracle berekent of het AD of BC is en geeft de toepasselijke indicator weer.
Dit gebeurt er als ik de datum verander in een BC-waarde:
SELECT
TO_CHAR(date '-2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Resultaat:
30-12-2030 BC
De resulterende indicator is BC, ook al is mijn opmaakstring AD
.
Hoofdletters versus kleine letters
Het wijzigen van de hoofdletters van het formaatelement verandert de hoofdletters van het resultaat:
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;
Resultaat:
Uppercase Lowercase Mixed ________________ ________________ ________________ 30-12-2030 AD 30-12-2030 ad 30-12-2030 Ad
Stippels vs Geen stippen
U kunt desgewenst punten toevoegen:
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;
Resultaat:
Uppercase Lowercase Mixed __________________ __________________ __________________ 30-12-2030 A.D. 30-12-2030 a.d. 30-12-2030 A.D.
Merk echter op dat dit de indicator voor gemengde gevallen beïnvloedde.
De datum en tijd van vandaag
Hier geef ik SYSDATE
door om de huidige datum te gebruiken:
SELECT
TO_CHAR(SYSDATE, 'DD-MM-YYYY A.D.')
FROM DUAL;
Resultaat:
29-08-2021 A.D.