In Postgres, puoi usare to_char()
funzione per restituire il secolo, in base a una data data.
Per farlo, usa CC
come secondo argomento. Questo restituisce il secolo a due cifre in base alla data fornita.
Esempio
Ecco un esempio da dimostrare.
SELECT to_char(date '2001-03-20', 'CC');
Risultato:
21
In questo caso la data è nel 21° secolo, quindi ottengo un risultato di 21.
Si noti che il 21° secolo inizia il 01-01-2001.
Ecco cosa succede se utilizzo una data precedente.
SELECT to_char(date '2000-03-20', 'CC');
Risultato:
20
Aggiungi il suffisso del numero ordinale
Puoi aggiungere th
o TH
al secondo argomento per aggiungere l'indicatore ordinale al secolo.
th
aggiunge un suffisso di numero ordinale minuscolo e TH
aggiunge un suffisso di numero ordinale maiuscolo.
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";
Risultato:
2001 CCth | 2001 CCTH | 2000 CCth | 2000 CCTH -----------+-----------+-----------+----------- 21st | 21ST | 20th | 20TH
Aggiungi "Secolo"
Il valore del secolo e il suo indicatore ordinale ora possono essere concatenati con la stringa "Century", se necessario.
SELECT
concat(to_char(date '2001-03-20', 'CCth'), ' Century!');
Risultato:
21st Century!