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.