Lors de l'utilisation de TO_CHAR()
pour formater une valeur datetime dans Oracle Database, vous pouvez ajouter l'indicateur AD/BC en ajoutant simplement soit AD
ou BC
à votre modèle de format.
Oracle affiche alors l'indicateur approprié, selon que la valeur de la date est AD ou BC.
Vous pouvez le fournir en majuscules ou en minuscules, avec ou sans points (par exemple, AD
, A.D.
ad
, a.d
, etc). Oracle affichera alors l'indicateur comme spécifié.
Exemple
Voici un exemple pour illustrer :
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Résultat :
30-12-2030 AD
Dans ce cas, la date est AD, et donc le résultat a AD
annexé.
AD contre Colombie-Britannique
Oracle détermine s'il s'agit d'AD ou de BC et affiche l'indicateur applicable.
Voici ce qui se passe lorsque je remplace la date par une valeur BC :
SELECT
TO_CHAR(date '-2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Résultat :
30-12-2030 BC
L'indicateur résultant est BC, même si ma chaîne de format est AD
.
Majuscule vs Minuscule
Changer la casse de l'élément de format change la casse du résultat :
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;
Résultat :
Uppercase Lowercase Mixed ________________ ________________ ________________ 30-12-2030 AD 30-12-2030 ad 30-12-2030 Ad
Points contre aucun point
Vous pouvez inclure des points si vous préférez :
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;
Résultat :
Uppercase Lowercase Mixed __________________ __________________ __________________ 30-12-2030 A.D. 30-12-2030 a.d. 30-12-2030 A.D.
Cependant, notez que cela a affecté l'indicateur de casse mixte.
Date et heure du jour
Ici, je passe SYSDATE
pour utiliser la date actuelle :
SELECT
TO_CHAR(SYSDATE, 'DD-MM-YYYY A.D.')
FROM DUAL;
Résultat :
29-08-2021 A.D.