No PostgreSQL você pode usar o
extract() função para obter o ano de uma data. Você também pode usar o
date_part() função para fazer a mesma coisa. Exemplo 1:A função extract()
Aqui está um exemplo de uso do
extract() função para extrair o ano de uma data. SELECT extract(
year from date '1974-12-16'
) AS "Year";
Resultado:
Year ------ 1974
Aqui está outro exemplo usando o timestamp atual.
SELECT extract(
year from current_timestamp
) AS "Year";
Resultado:
Year ------ 2020
Exemplo 2:A função date_part()
Aqui está um exemplo de uso do
date_part() função em vez disso. SELECT date_part(
'year', date '1974-12-16'
) AS "Year";
Resultado:
Year ------ 1974
Observe a sintaxe ligeiramente diferente. Também o
'year' O parâmetro deve ser um valor de string (ou seja, está entre aspas simples). Exemplo 3:Ano ISO
Você tem a opção de especificar o ano de numeração de semana ISO 8601.
Cada ano de numeração de semanas ISO 8601 começa com a segunda-feira da semana que contém o dia 4 de janeiro, portanto, no início de janeiro ou no final de dezembro, o ano ISO pode ser diferente do ano gregoriano (depende do ano em questão).
Aqui está um exemplo que demonstra isso.
SELECT
extract(
isoyear from date '2024-12-29'
) AS "2024-12-29",
extract(
isoyear from date '2024-12-30'
) AS "2024-12-30";
Resultado:
2024-12-29 | 2024-12-30
------------+------------
2024 | 2025
Portanto, ambas as datas se enquadram em 2024 no calendário gregoriano, mas se enquadram em um ano ISO diferente.
O
date_part() função também aceita 'isoyear' como argumento.