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.