В Postgres можете да използвате to_char()
функция за връщане на века въз основа на дадена дата.
За да направите това, използвайте CC
като втори аргумент. Това връща двуцифрения век въз основа на предоставената дата.
Пример
Ето пример за демонстрация.
SELECT to_char(date '2001-03-20', 'CC');
Резултат:
21
В този случай датата е в 21-ви век, така че получавам резултат 21.
Имайте предвид, че 21-ви век започва на 2001-01-01.
Ето какво се случва, ако използвам дата преди това.
SELECT to_char(date '2000-03-20', 'CC');
Резултат:
20
Добавете суфикса за редовно число
Можете да добавите th
или TH
към втория аргумент, за да добавите порядковия индикатор към века.
th
добавя суфикс за редовен номер с малки букви и TH
добавя суфикс за редово число с главни букви.
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";
Резултат:
2001 CCth | 2001 CCTH | 2000 CCth | 2000 CCTH -----------+-----------+-----------+----------- 21st | 21ST | 20th | 20TH
Добавете „Век“
Стойността на века и неговият порядков индикатор вече могат да бъдат свързани с низа „Century“, ако е необходимо.
SELECT
concat(to_char(date '2001-03-20', 'CCth'), ' Century!');
Резултат:
21st Century!