SQL MONTH()

Dans le langage SQL la fonction MONTH() permet d’extraire le numéro de mois à partir d’une date au format AAAA-MM-JJ. Si la date d’entrée est par exemple ‘2014-02-03’, la valeur de retour sera ‘3’. Cela permet d’associer le numéro de mois au nom du mois (3 = Mars).

SQL Server : la fonction accepte les valeurs de type time, date, smalldatetime, datetime, datetime2 ou datetimeoffset.

PostgreSQL : la fonction MONTH() n’existe pas avec ce Système de Gestion de Base de Données (SGBD). Pour simuler le fonctionnement, il est possible d’utiliser la fonction EXTRACT() en spécifiant le type « month ».

Syntaxe

Pour utiliser cette fonction il convient d’utiliser la syntaxe ci-dessous :

SELECT MONTH( date );

Dans cette requête SQL le paramètre « date » peut correspondre à une date telle que ‘2014-02-03’.

Exemple

Utilisation typique

Les requêtes ci-dessous représentent des exemples basiques pour comprendre le fonctionnement de la fonction.

SELECT MONTH('2014-06-06'); -- résultat : 6
SELECT MONTH('2014-01-01'); -- résultat : 1
SELECT MONTH('1999-12-01'); -- résultat : 12
SELECT MONTH('1802-07-07'); -- résultat : 7

Important : il est important de noter que la fonction ne retourne pas les zéros pour les mois de ’01’ à ’09’.

Utilisation avec la commande CASE

Petite astuce, il est possible d’utiliser la commande CASE pour personnaliser l’affichage du mois directement à partir de la requête SQL. L’exemple ci-dessous compare la valeur de retour de la requête pour afficher le nom du mois au lieu du numéro.

SELECT CASE MONTH('1999-07-07')
         WHEN 1 THEN 'janvier'
         WHEN 2 THEN 'février'
         WHEN 3 THEN 'mars'
         WHEN 4 THEN 'avril'
         WHEN 5 THEN 'mai'
         WHEN 6 THEN 'juin'
         WHEN 7 THEN 'juillet'
         WHEN 8 THEN 'août'
         WHEN 9 THEN 'septembre'
         WHEN 10 THEN 'octobre'
         WHEN 11 THEN 'novembre'
         ELSE 'décembre'
END;
-- résultat : 'juillet'

Le résultat de la requête affichera « juillet » plutôt que le numéro ‘7’, ce qui est plus pratique et plus facile à comprendre pour un utilisateur.

En savoir plus

D’autres fonctions permettent d’extraire d’autres éléments d’une date.

  • DAY() pour extraire le jour d’une date
  • YEAR() pour extraire l’année d’une date
Partager