PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Estrai l'anno da una data in PostgreSQL

In PostgreSQL puoi usare extract() funzione per ottenere l'anno da una data.

Puoi anche usare date_part() funzione per fare la stessa cosa.

Esempio 1:la funzione extract()

Ecco un esempio di utilizzo di extract() funzione per estrarre l'anno da una data.

SELECT extract(
    year from date '1974-12-16'
    ) AS "Year";

Risultato:

 Year 
------
 1974

Ecco un altro esempio che utilizza il timestamp corrente.

SELECT extract(
    year from current_timestamp
    ) AS "Year";

Risultato:

 Year 
------
 2020

Esempio 2:la funzione date_part()

Ecco un esempio di utilizzo di date_part() funzione invece.

SELECT date_part(
    'year', date '1974-12-16'
    ) AS "Year";

Risultato:

 Year 
------
 1974

Nota la sintassi leggermente diversa. Anche il 'year' il parametro deve essere un valore stringa (cioè racchiuso tra virgolette singole).

Esempio 3:Anno ISO

Hai la possibilità di specificare l'anno di numerazione delle settimane ISO 8601.

Ogni anno di numerazione delle settimane ISO 8601 inizia con il lunedì della settimana contenente il 4 gennaio, quindi all'inizio di gennaio o alla fine di dicembre l'anno ISO potrebbe essere diverso dall'anno gregoriano (dipende dall'anno in questione).

Ecco un esempio che lo dimostra.

SELECT 
  extract(
    isoyear from date '2024-12-29'
    ) AS "2024-12-29",
  extract(
    isoyear from date '2024-12-30'
    ) AS "2024-12-30";  

Risultato:

 2024-12-29 | 2024-12-30 
------------+------------
       2024 |       2025

Quindi entrambe le date rientrano nel 2024 nel calendario gregoriano, ma rientrano in un anno ISO diverso.

Il date_part() la funzione accetta anche 'isoyear' come argomento.