Quando si utilizza TO_CHAR()
funzione per formattare un valore datetime in Oracle Database, puoi aggiungere l'indicatore AD/BC semplicemente aggiungendo AD
o BC
al tuo modello di formato.
Oracle visualizza quindi l'indicatore appropriato, a seconda che il valore della data sia AD o BC.
Puoi fornirlo in qualsiasi maiuscolo o minuscolo e con o senza punti (ad es. AD
, A.D.
ad
, a.d
, eccetera). Oracle visualizzerà quindi l'indicatore come specificato.
Esempio
Ecco un esempio da dimostrare:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Risultato:
30-12-2030 AD
In questo caso, la data è AD, quindi il risultato ha AD
aggiunto.
AD vs BC
Oracle determina se si tratta di AD o BC e visualizza l'indicatore applicabile.
Ecco cosa succede quando cambio la data in un valore BC:
SELECT
TO_CHAR(date '-2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Risultato:
30-12-2030 BC
L'indicatore risultante è BC, anche se la mia stringa di formato è AD
.
Maiuscole vs Minuscole
La modifica del caso dell'elemento del formato cambia il caso del risultato:
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;
Risultato:
Uppercase Lowercase Mixed ________________ ________________ ________________ 30-12-2030 AD 30-12-2030 ad 30-12-2030 Ad
Punti contro nessun punto
Puoi includere dei punti se preferisci:
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;
Risultato:
Uppercase Lowercase Mixed __________________ __________________ __________________ 30-12-2030 A.D. 30-12-2030 a.d. 30-12-2030 A.D.
Tuttavia, nota che ciò ha influito sull'indicatore dei casi misti.
Data e ora di oggi
Qui passo SYSDATE
per utilizzare la data corrente:
SELECT
TO_CHAR(SYSDATE, 'DD-MM-YYYY A.D.')
FROM DUAL;
Risultato:
29-08-2021 A.D.