Dans Postgres, vous pouvez utiliser le to_char()
fonction pour retourner le siècle, basé sur une date donnée.
Pour ce faire, utilisez CC
comme deuxième argument. Cela renvoie le siècle à deux chiffres en fonction de la date fournie.
Exemple
Voici un exemple pour illustrer.
SELECT to_char(date '2001-03-20', 'CC');
Résultat :
21
Dans ce cas, la date est au 21ème siècle, donc j'obtiens un résultat de 21.
Notez que le 21e siècle commence le 2001-01-01.
Voici ce qui se passe si j'utilise une date antérieure.
SELECT to_char(date '2000-03-20', 'CC');
Résultat :
20
Ajouter le suffixe du nombre ordinal
Vous pouvez ajouter th
ou TH
au deuxième argument afin d'ajouter l'indicateur ordinal au siècle.
th
ajoute un suffixe de nombre ordinal en minuscule et TH
ajoute un suffixe de nombre ordinal majuscule.
SELECT
to_char(date '2001-03-20', 'CCth') AS "2001 CCth",
to_char(date '2001-03-20', 'CCTH') AS "2001 CCTH",
to_char(date '2000-03-20', 'CCth') AS "2000 CCth",
to_char(date '2000-03-20', 'CCTH') AS "2000 CCTH";
Résultat :
2001 CCth | 2001 CCTH | 2000 CCth | 2000 CCTH -----------+-----------+-----------+----------- 21st | 21ST | 20th | 20TH
Ajouter "Siècle"
La valeur du siècle et son indicateur ordinal peuvent désormais être concaténés avec la chaîne "Century" si nécessaire.
SELECT
concat(to_char(date '2001-03-20', 'CCth'), ' Century!');
Résultat :
21st Century!