PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PgSQL wandelt den Tag des Jahres wieder in ein Datum um

Verwenden Sie

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

oder

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

PostgreSQLs Standard-SQL-Funktion "extract()" wird arbeiten mit Zeitstempeln, aber a) "date" ist kein gültiges Argument für extract(), und b) es gibt Unterfelder zurück, keine Sammlung von Unterfeldern. Konzeptionell besteht ein Datum aus einer Sammlung von drei Unterfeldern:Jahr, Monat und Tag.

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