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

PgSQL transformando dia do ano em data


Usar
select (date '2013-01-01' + interval '53 days')::date

ou
select cast(date '2013-01-01' + interval '53 days' as date)

Função SQL padrão do PostgreSQL "extract()" vai operam em timestamps, mas a) "data" não é um argumento válido para extract(), e b) ele retorna subcampos, não uma coleção de subcampos. Conceitualmente, uma data consiste em uma coleção de três subcampos:ano, mês e dia.
select extract(year from current_timestamp),
       extract(month from current_timestamp),
       extract(day from current_timestamp),
       -- Concatenate and cast to type "date".
       (extract(year from current_timestamp) || '-' || 
       extract(month from current_timestamp) || '-' ||
       extract(day from current_timestamp))::date