Dans le langage SQL la fonction YEAR() permet d’extraire une année à partir d’une date au format AAAA-MM-JJ.
SQL Server : la fonction accepte les valeurs de type time, date, smalldatetime, datetime, datetime2 ou datetimeoffset.
PostgreSQL : la fonction n’existe pas avec PostgreSQL. Pour extraire une date avec ce Système de Gestion de Base de Données (SGBD) il convient d’utiliser la fonction EXTRACT() et de spécifier le type “year”.
Syntaxe
Pour utiliser la fonction dans une requête SQL il convient de respecter la syntaxe suivante :
SELECT YEAR( date );
Dans cet exemple le paramètre “date” peut correspondre à une date telle que ‘2014-01-01’ et retournera une chaîne de 4 caractères.
Exemple
Les requêtes ci-dessous démontre l’utilisation de la fonction dans un contexte concret :
SELECT YEAR('2014-01-01'); -- résultat : 2014 SELECT YEAR('1999-12-31'); -- résultat : 1999 SELECT YEAR('1914-06-06'); -- résultat : 1914 SELECT YEAR('1801-12-31'); -- résultat : 1801
A noter : si la date d’entrée respecte bien le format AAAA-MM-JJ, alors le résultat peut aussi être obtenu grâce à la fonction LEFT() en tronquant la date au 4 premiers caractères ou en utilisant la fonction SUBSTR() ou SUBSTRING() en tronquant également les premiers caractères.
En savoir plus
Il existe plusieurs fonctions SQL pour extraire des éléments d’une date.
- DAY() pour extraire le jour d’une date
- MONTH() pour extraire l’année d’une date