Comment obtenir une chaîne combinant le mois et l'année d'une date dans SQL Server ?

Le système de gestion de base de données SQL Server fournit des méthodes facilitant la gestion des dates. La fonction CONVERT en fait partie.

Le système de gestion de base de données SQL Server fournit des méthodes facilitant la gestion des dates. La fonction CONVERT en fait partie. Cette fonction sert initialement à convertir une variable d'un type vers un autre type. Si l'expression en paramètre est une date, alors le troisième paramètre, le style, permet de définir sous quel standard de date l'on souhaite que celle-ci s'affiche.

Il est possible d'afficher la date au format américain, français, ISO ou dans d'autres formats variant selon les informations à afficher et l'ordre souhaité. Cette méthode va permettre de récupérer le mois et l'année. Il faut pour cela convertir la date dans un format plus court, une chaîne de 4 caractères, pour récupérer les 4 premiers éléments de la date.

En couplant cette conversion au format par défaut, qui affiche en premier les 3 premières lettres du mois et un espace, puis en utilisant un format où la date sur 4 chiffres est affichée en premier (par exemple le format canonique ODBC), on obtient tous les éléments qui composent la chaîne souhaitée. Exemple :

SELECT
CONVERT(CHAR(4), date, 100) + CONVERT(CHAR(4), date, 120)
FROM table

La commande retourne les 3 premières lettres du mois, suivies de l'année, par exemple Jan 2013.