sql >> Database teknologi >  >> RDS >> Oracle

Sådan tilføjes AD/BC-indikatoren til en dato i Oracle

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.

  1. Aggregerende (x,y) koordinatpunktskyer i PostgreSQL

  2. postgresql returnerer 0, hvis den returnerede værdi er null

  3. Sådan bestemmes den autogenererede primærnøgle, der bruges som fremmednøgle til en anden tabel

  4. Find n nærmeste naboer for givet punkt ved hjælp af PostGIS?