sql >> Database >  >> RDS >> PostgreSQL

Extraheer het jaar van een datum in PostgreSQL

In PostgreSQL kun je het extract() . gebruiken functie om het jaar uit een datum te halen.

U kunt ook de date_part() . gebruiken functie om hetzelfde te doen.

Voorbeeld 1:De functie extract()

Hier is een voorbeeld van het gebruik van de extract() functie om het jaar uit een datum te halen.

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

Resultaat:

 Year 
------
 1974

Hier is nog een voorbeeld waarbij de huidige tijdstempel wordt gebruikt.

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

Resultaat:

 Year 
------
 2020

Voorbeeld 2:De functie date_part()

Hier is een voorbeeld van het gebruik van de date_part() functie in plaats daarvan.

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

Resultaat:

 Year 
------
 1974

Let op de iets andere syntaxis. Ook het 'year' parameter moet een tekenreekswaarde zijn (d.w.z. tussen enkele aanhalingstekens).

Voorbeeld 3:ISO-jaar

U heeft de mogelijkheid om het ISO 8601 weeknummeringsjaar op te geven.

Elk ISO 8601-weeknummerjaar begint met de maandag van de week waarin 4 januari valt, dus begin januari of eind december kan het ISO-jaar verschillen van het Gregoriaanse jaar (afhankelijk van het jaar in kwestie).

Hier is een voorbeeld dat dit aantoont.

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

Resultaat:

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

Beide datums vallen dus onder 2024 in de Gregoriaanse kalender, maar ze vallen onder een ander ISO-jaar.

De date_part() functie accepteert ook 'isoyear' als argument.


  1. Msg 8672, Level 16, State 1, Line 1 De MERGE-instructie heeft meer dan eens geprobeerd dezelfde rij BIJWERKEN of VERWIJDEREN

  2. MySQL – ELT() en FILED() functies om indexpositie uit lijst te extraheren

  3. SQL Server Error 7222:"Alleen een SQL Server-provider is toegestaan ​​op dit exemplaar"

  4. MySQL:#126 - Onjuist sleutelbestand voor tabel