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

Uddrag året fra en dato i PostgreSQL

I PostgreSQL kan du bruge extract() funktion for at få året fra en dato.

Du kan også bruge date_part() funktion til at gøre det samme.

Eksempel 1:Extrakt()-funktionen

Her er et eksempel på brug af extract() funktion til at udtrække året fra en dato.

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

Resultat:

 Year 
------
 1974

Her er endnu et eksempel, der bruger det aktuelle tidsstempel.

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

Resultat:

 Year 
------
 2020

Eksempel 2:Date_part()-funktionen

Her er et eksempel på brug af date_part() funktion i stedet for.

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

Resultat:

 Year 
------
 1974

Bemærk den lidt anderledes syntaks. Også 'year' parameter skal være en strengværdi (dvs. den er omgivet af enkelte anførselstegn).

Eksempel 3:ISO-år

Du har mulighed for at angive ISO 8601-ugenummereringsåret.

Hvert ISO 8601-ugenummereringsår begynder med mandagen i ugen, der indeholder den 4. januar, så i begyndelsen af ​​januar eller slutningen af ​​december kan ISO-året være anderledes end det gregorianske år (afhængigt af det pågældende år).

Her er et eksempel, der demonstrerer dette.

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

Resultat:

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

Så begge datoer falder under 2024 i den gregorianske kalender, men de falder ind under et andet ISO-år.

date_part() funktion accepterer også 'isoyear' som et argument.


  1. hvordan gemmer man PostgreSQL jsonb ved hjælp af SpringBoot + JPA?

  2. Applikationsstakkens fremtid

  3. Sådan rettes MySQL JDBC 08001-databaseforbindelsesfejl

  4. SQL Server BCP eksportere beskadiget fil?