sql >> Databáze >  >> RDS >> PostgreSQL

Extrahujte rok z data v PostgreSQL

V PostgreSQL můžete použít extract() funkce pro získání roku od data.

Můžete také použít date_part() funkci udělat totéž.

Příklad 1:Funkce extract()

Zde je příklad použití extract() funkce pro extrahování roku z data.

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

Výsledek:

 Year 
------
 1974

Zde je další příklad s použitím aktuálního časového razítka.

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

Výsledek:

 Year 
------
 2020

Příklad 2:Funkce date_part()

Zde je příklad použití date_part() místo toho.

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

Výsledek:

 Year 
------
 1974

Všimněte si mírně odlišné syntaxe. Také 'year' parametr musí být řetězcová hodnota (tj. je uzavřena v jednoduchých uvozovkách).

Příklad 3:Rok ISO

Máte možnost zadat rok číslování týdnů podle ISO 8601.

Každý rok číslování týdnů podle normy ISO 8601 začíná pondělím v týdnu obsahujícím 4. ledna, takže na začátku ledna nebo na konci prosince se rok ISO může lišit od gregoriánského roku (závisí na daném roce).

Zde je příklad, který to demonstruje.

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

Výsledek:

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

Obě data tedy spadají do roku 2024 v gregoriánském kalendáři, ale spadají do jiného roku ISO.

date_part() funkce také přijímá 'isoyear' jako argument.


  1. Hodnota dat v čase

  2. Importujte soubor CSV do tabulky Oracle pomocí uložené procedury

  3. Statistiky tabulky GTT a SYS.WRI$_OPTSTAT_TAB_HISTORY

  4. Jak můžete zjistit, zda hodnota v Oracle není číselná?