Dans mon article précédent, j’ai discuté des différents aspects de l’entrée de données de date/heure dans les colonnes DATETIME et SMALLDATE de SQL Server. Dans cet article, nous allons explorer comment utiliser différentes fonctions SQL Server pour afficher les dates et les heures dans différents formats.
En fonction de votre environnement, de vos besoins et/ou de votre public, le format d’affichage de la date et de l’heure peut varier. À l’échelle internationale, il existe de nombreuses façons différentes de représenter une date et/ou une heure donnée. Examinons quelques exemples de formats de date différents :
- 2003/01/22 22:31
- 22-01-2003
- 22 janvier 2003
- Jan 22 2003 10:31PM
- January 22, 2003
Pour obtenir ces différents formats de date, nous pouvons utiliser la fonction CONVERT dans SQL Server. La fonction CONVERT nous permet de convertir une variable DATETIME ou SMALLDATETIME, ou toute autre chaîne contenant une date valide, en différents formats d’affichage de date/heure.
La syntaxe de la fonction CONVERT est la suivante :
CONVERT(type_de_données[(longueur)], expression [, style])
Ici, type_de_données[(longueur)]
représente le format et la longueur du type de données cible, expression
est une expression Microsoft valide représentant la date/heure que vous souhaitez afficher, et style
spécifie le format de sortie pour la date/heure.
En utilisant la fonction CONVERT avec différents styles, nous pouvons afficher les données de date et d’heure dans de nombreux formats différents. Examinons un peu de code TSQL qui affiche l’heure actuelle dans quelques formats d’affichage différents :
PRINT '1) VOICI LE FORMAT MON DD YYYY HH:MIAM (OU PM) ==>' + CONVERT(CHAR(19), GETDATE())
PRINT '2) VOICI LE FORMAT MM-DD-YY ==>' + CONVERT(CHAR(8), GETDATE(), 10)
PRINT '3) VOICI LE FORMAT MM-DD-YYYY ==>' + CONVERT(CHAR(10), GETDATE(), 110)
PRINT '4) VOICI LE FORMAT DD MON YYYY ==>' + CONVERT(CHAR(11), GETDATE(), 106)
PRINT '5) VOICI LE FORMAT DD MON YY ==>' + CONVERT(CHAR(9), GETDATE(), 6)
PRINT '6) VOICI LE FORMAT DD MON YYYY HH:MM:SS:MMM(24H) ==>' + CONVERT(CHAR(24), GETDATE(), 113)
Voici le résultat du script ci-dessus :
1) VOICI LE FORMAT MON DD YYYY HH:MIAM (OU PM) ==> 5 février 2003 5:54AM
2) VOICI LE FORMAT MM-DD-YY ==> 02-05-03
3) VOICI LE FORMAT MM-DD-YYYY ==> 02-05-2003
4) VOICI LE FORMAT DD MON YYYY ==> 05 février 2003
5) VOICI LE FORMAT DD MON YY ==> 05 février 03
6) VOICI LE FORMAT DD MON YYYY HH:MM:SS:MMM(24H) ==> 05 février 2003 05:54:39:567
Comme vous pouvez le voir, ce script affiche la date actuelle dans de nombreux formats différents. Certains formats ont des années à deux chiffres, tandis que d’autres ont des années à quatre chiffres. Certains affichages ont des formats horaires de 24 heures ou AM/PM, tandis que d’autres affichent le mois sous forme de valeur numérique ou d’abréviation.
Bien que la fonction CONVERT dispose de plusieurs styles de sortie de date/heure, elle peut ne pas avoir le format d’affichage exact dont vous avez besoin. Dans ce cas, vous pouvez utiliser d’autres fonctions TSQL telles que SUBSTRING, RIGHT et CAST pour construire le format d’affichage souhaité.
Une autre fonction importante de date/heure à mentionner est DATEPART. Cette fonction vous permet d’extraire une seule partie d’une expression de date/heure, telle que l’heure, la minute, le mois, le jour, etc. La syntaxe de la fonction DATEPART est la suivante :
DATEPART(partie_de_date, date)
Ici, partie_de_date
est l’une des suivantes : Year, yy, yyyy, quarter, qq, q, month, mm, m, dayofyear, dy, y, day, dd, d, week, wk, ww, weekday, dw, hour, hh, minute, mi, n, second, ss, s, millisecond, ou ms. Et date
est une expression de date valide. Cette fonction renverra un entier représentant la partie de date demandée.
En combinant les fonctions CONVERT et DATEPART, vous pouvez afficher une date et une heure dans différents formats. Certains formats peuvent être créés en utilisant les différentes options “style” sur l’instruction CONVERT, tandis que d’autres peuvent nécessiter des fonctions TSQL supplémentaires telles que SUBSTRING, RIGHT et CAST.
En comprenant et en utilisant ces fonctions SQL Server, vous pouvez facilement afficher les dates et les heures dans le format souhaité pour votre application ou votre public.