W Postgresie możesz użyć to_char() funkcja zwracająca wiek na podstawie podanej daty.
Aby to zrobić, użyj CC jako drugi argument. Zwraca dwucyfrowy wiek na podstawie podanej daty.
Przykład
Oto przykład do zademonstrowania.
SELECT to_char(date '2001-03-20', 'CC'); Wynik:
21
W tym przypadku data jest w XXI wieku, więc otrzymuję wynik 21.
Zauważ, że XXI wiek zaczyna się 01.01.2001.
Oto, co się stanie, jeśli użyję wcześniejszej daty.
SELECT to_char(date '2000-03-20', 'CC'); Wynik:
20
Dodaj sufiks liczby porządkowej
Możesz dodać th lub TH do drugiego argumentu, aby dodać wskaźnik porządkowy do wieku.
th dodaje sufiks liczby porządkowej małej litery i TH dodaje sufiks liczby porządkowej pisanej wielkimi literami.
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"; Wynik:
2001 CCth | 2001 CCTH | 2000 CCth | 2000 CCTH -----------+-----------+-----------+----------- 21st | 21ST | 20th | 20TH
Dołącz „Century”
Wartość wieku i jej wskaźnik porządkowy można teraz w razie potrzeby połączyć z ciągiem „Century”.
SELECT
concat(to_char(date '2001-03-20', 'CCth'), ' Century!'); Wynik:
21st Century!