Comment convertir le nombre de Datepart en nom de jour dans SQL Server
Si vous avez déjà travaillé avec SQL Server, vous avez probablement rencontré des situations où vous deviez extraire certaines parties d’une date pour une meilleure compréhension et utilisation. Un besoin courant est de convertir la représentation numérique d’un jour—obtenue à partir d’une fonction datepart
—en son nom correspondant (comme “Lundi” ou “Mardi”). Dans cet article de blog, nous allons explorer comment réaliser rapidement cette conversion dans SQL Server.
Comprendre le problème
Lorsque vous utilisez la fonction SQL Server datepart
, la récupération du jour de la semaine à partir d’une date vous donnera un nombre compris entre 1 et 7, où :
- 1 = Dimanche
- 2 = Lundi
- 3 = Mardi
- 4 = Mercredi
- 5 = Jeudi
- 6 = Vendredi
- 7 = Samedi
Par exemple, l’exécution de la requête suivante renvoie le jour de la semaine sous la forme d’un nombre :
SELECT DATEPART(dw, GETDATE());
Bien que cette valeur numérique puisse être utile, elle n’est pas très conviviale ; notre objectif est de convertir cette sortie numérique en un format plus lisible, en particulier le nom du jour.
La solution : Utiliser datename
Pour obtenir le nom du jour au lieu d’un nombre, vous pouvez utiliser la fonction DATENAME
dans SQL Server. La fonction DATENAME
vous permet de renvoyer le nom d’une partie de date spécifique pour une date donnée. Voici comment vous pouvez le faire :
Étape 1 : Utiliser la fonction DATENAME
Vous pouvez simplement remplacer la fonction datepart
par datename
dans votre requête SQL comme suit :
SELECT DATENAME(weekday, GETDATE());
Explication de la requête :
- DATENAME : Cette fonction prend deux paramètres ; le premier est la partie de date que vous voulez récupérer (dans ce cas,
weekday
), et le second est la date à partir de laquelle vous souhaitez extraire l’information (dans ce cas, la date actuelle renvoyée parGETDATE()
). - GETDATE() : Cette fonction renvoie l’horodatage actuel du système de base de données.
Étape 2 : Exécution de la requête
Lorsque vous exécutez l’instruction SELECT
ci-dessus, elle renverra le nom du jour actuel, par exemple “Dimanche”, “Lundi”, etc., ce qui le rend beaucoup plus facile à comprendre d’un coup d’œil.
Conclusion
En utilisant la fonction DATENAME
dans SQL Server, vous pouvez facilement convertir une représentation numérique du jour en un nom de jour plus significatif. Cette simple ligne de code peut vous faire gagner du temps et rendre la sortie de vos données beaucoup plus interprétable, notamment dans les rapports ou les interfaces utilisateur.
La prochaine fois que vous aurez besoin de récupérer le jour de la semaine dans SQL Server, rappelez-vous que la transformation d’un nombre en son nom est à portée de main via une simple requête !
N’hésitez pas à expérimenter avec différentes dates en remplaçant GETDATE()
par votre valeur de date spécifique pour voir comment ces fonctions fonctionnent !