PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Extraia o ano de uma data no PostgreSQL


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.