När du använder TO_CHAR()
funktion för att formatera ett datum och tid-värde i Oracle Database, kan du lägga till AD/BC-indikatorn genom att helt enkelt lägga till antingen AD
eller BC
till din formatmodell.
Oracle visar sedan lämplig indikator, beroende på om datumvärdet är AD eller BC.
Du kan tillhandahålla det i valfri versal eller gemen och med eller utan punkter (t.ex. AD
, A.D.
ad
, a.d
, etc). Oracle kommer då att visa indikatorn enligt specifikationen.
Exempel
Här är ett exempel att visa:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Resultat:
30-12-2030 AD
I det här fallet är datumet AD, så resultatet har AD
bifogas.
AD vs BC
Oracle räknar ut om det är AD eller BC och visar den tillämpliga indikatorn.
Så här händer när jag ändrar datumet till ett BC-värde:
SELECT
TO_CHAR(date '-2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Resultat:
30-12-2030 BC
Den resulterande indikatorn är BC, även om min formatsträng är AD
.
Verlor vs gemener
Om du ändrar skiftläge för formatelementet ändras skiftläge för 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
Prickar vs Inga prickar
Du kan inkludera prickar om du föredrar:
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.
Observera dock att detta påverkade indikatorn för blandade skiftlägen.
Dagens datum och tid
Här skickar jag SYSDATE
för att använda det aktuella datumet:
SELECT
TO_CHAR(SYSDATE, 'DD-MM-YYYY A.D.')
FROM DUAL;
Resultat:
29-08-2021 A.D.