Dans Oracle Database, nous pouvons utiliser le TH
élément de format pour ajouter le suffixe du nombre ordinal au résultat d'un TO_CHAR()
opération lors du formatage des dates.
Par exemple, au lieu de sortir 10 Feb
nous pourrions afficher le 10th Feb
. Ou, au lieu de sortir 21 century
, nous pouvons afficher 21st century
. Il en va de même pour les composants de date orthographiés. Par exemple, au lieu de Twenty One
, nous pouvons sortir Twenty First
.
Exemple
Voici un exemple pour illustrer :
SELECT TO_CHAR(DATE '2030-12-01', 'Ddth Month')
FROM DUAL;
Résultat :
01st December
Nous pouvons utiliser le fm
modificateur de format pour supprimer le zéro non significatif si nécessaire :
SELECT TO_CHAR(DATE '2030-12-01', 'fmDdth Month')
FROM DUAL;
Résultat :
1st December
Notez que la casse du nombre ordinal est déterminée par l'élément de format pertinent (dans ce cas, le Dd
partie), pas le TH
suffixe.
Voici ce qui se passe lorsque nous changeons le deuxième d
en majuscule :
SELECT TO_CHAR(DATE '2030-12-01', 'fmDDth Month')
FROM DUAL;
Résultat :
1st December
Ainsi, même si nous avons fourni le th
suffixe en minuscules, cela n'avait aucun effet sur le résultat. La capitalisation a été déterminée par l'élément de format (n'incluant pas le fm
modificateur de format).
Nous pouvons également ajouter le nombre ordinal lors du retour d'autres composants de date, tels que le siècle :
SELECT TO_CHAR(DATE '2030-12-30', 'Ccth "Century"')
FROM DUAL;
Résultat :
21st Century
Dates épelées
Nous pouvons ajouter le SP
élément de format pour que la partie date soit épelée :
SELECT TO_CHAR(DATE '2030-12-30', 'CCTHSP "Century"')
FROM DUAL;
Résultat :
TWENTY-FIRST Century
Et nous pouvons utiliser les majuscules si nécessaire :
SELECT TO_CHAR(DATE '2030-12-30', 'Ccthsp "Century"')
FROM DUAL;
Résultat :
Twenty-First Century
Voici ce qui se passe lorsque nous omettons le TH
spécificateur de format :
SELECT TO_CHAR(DATE '2030-12-30', 'Ccsp')
FROM DUAL;
Résultat :
Twenty-One