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