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.