sql >> Databasteknik >  >> RDS >> PostgreSQL

Extrahera året från ett datum i PostgreSQL

I PostgreSQL kan du använda extract() funktion för att få årtalet från ett datum.

Du kan också använda date_part() funktion för att göra samma sak.

Exempel 1:Extrakt()-funktionen

Här är ett exempel på hur du använder extract() funktion för att extrahera årtalet från ett datum.

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

Resultat:

 Year 
------
 1974

Här är ett annat exempel med den aktuella tidsstämpeln.

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

Resultat:

 Year 
------
 2020

Exempel 2:Funktionen date_part()

Här är ett exempel på hur du använder date_part() funktion istället.

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

Resultat:

 Year 
------
 1974

Notera den något annorlunda syntaxen. Även 'year' parametern måste vara ett strängvärde (dvs. den är omgiven av enkla citattecken).

Exempel 3:ISO-år

Du har möjlighet att ange ISO 8601 veckonummerår.

Varje ISO 8601 veckonummerår börjar med måndagen i veckan som innehåller den 4 januari, så i början av januari eller slutet av december kan ISO-året skilja sig från det gregorianska året (beror på året i fråga).

Här är ett exempel som visar detta.

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å båda datumen faller under 2024 i den gregorianska kalendern, men de faller under ett annat ISO-år.

date_part() funktion accepterar också 'isoyear' som argument.


  1. Postgres - Funktion för att returnera skärningspunkten mellan 2 ARRAY?

  2. PostgreSQL procedurspråk C hittades inte

  3. Hur man övervakar PostgreSQL med Nagios

  4. En enkel introduktion till att använda MySQL på Linux-terminalen