PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Extraire l'année d'une date dans PostgreSQL

Dans PostgreSQL, vous pouvez utiliser le extract() fonction pour obtenir l'année à partir d'une date.

Vous pouvez également utiliser le date_part() fonction pour faire la même chose.

Exemple 1 :La fonction extract()

Voici un exemple d'utilisation de extract() fonction pour extraire l'année d'une date.

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

Résultat :

 Year 
------
 1974

Voici un autre exemple utilisant l'horodatage actuel.

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

Résultat :

 Year 
------
 2020

Exemple 2 :La fonction date_part()

Voici un exemple d'utilisation de date_part() fonction à la place.

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

Résultat :

 Year 
------
 1974

Notez la syntaxe légèrement différente. Aussi le 'year' Le paramètre doit être une valeur de chaîne (c'est-à-dire qu'il est entre guillemets simples).

Exemple 3 :Année ISO

Vous avez la possibilité de spécifier l'année de numérotation des semaines ISO 8601.

Chaque année de numérotation des semaines ISO 8601 commence par le lundi de la semaine contenant le 4 janvier, donc début janvier ou fin décembre, l'année ISO peut être différente de l'année grégorienne (selon l'année en question).

Voici un exemple qui le démontre.

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

Résultat :

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

Ainsi, les deux dates tombent sous 2024 dans le calendrier grégorien, mais elles tombent sous une année ISO différente.

Le date_part() la fonction accepte également 'isoyear' comme argument.