В PostgreSQL можете да използвате extract() функция за получаване на годината от дата.
Можете също да използвате date_part() функция, за да направи същото.
Пример 1:Функцията extract()
Ето пример за използване на extract() функция за извличане на годината от дата.
SELECT extract(
year from date '1974-12-16'
) AS "Year";
Резултат:
Year ------ 1974
Ето още един пример за използване на текущата времева марка.
SELECT extract(
year from current_timestamp
) AS "Year";
Резултат:
Year ------ 2020
Пример 2:Функцията date_part()
Ето пример за използване на date_part() функция вместо това.
SELECT date_part(
'year', date '1974-12-16'
) AS "Year";
Резултат:
Year ------ 1974
Обърнете внимание на малко по-различния синтаксис. Също и 'year' параметърът трябва да е низова стойност (т.е. да е затворен в единични кавички).
Пример 3:ISO година
Имате възможност да посочите годината за номериране на седмица по ISO 8601.
Всяка година за номериране на седмица по ISO 8601 започва с понеделник от седмицата, съдържащ 4 януари, така че в началото на януари или края на декември годината по ISO може да е различна от григорианската година (в зависимост от въпросната година).
Ето пример, който демонстрира това.
SELECT
extract(
isoyear from date '2024-12-29'
) AS "2024-12-29",
extract(
isoyear from date '2024-12-30'
) AS "2024-12-30";
Резултат:
2024-12-29 | 2024-12-30
------------+------------
2024 | 2025
Така че и двете дати попадат под 2024 г. в григорианския календар, но попадат под различна година по ISO.
date_part() функцията също така приема 'isoyear' като аргумент.