Comment puis-je obtenir le jour de la semaine (au format ddd, donc lun, mar, etc.) dans SQL? Je ne vois rien à ce sujet dans le CAST et CONVERT documentation ..Formats de date SQL Server - ddd
Répondre
De nombreuses façons de le faire, voici un moyen:
SELECT LEFT(DATENAME(dw, GETDATE()), 3)
essayer cette
SELECT DATEPART(DW, '1/1/2009')
Documentez-vous DATEPART ici
Vous ne pouvez pas ddd hors de la boîte, mais vous pouvez faire toute la journée
par exemple
select datename(weekday,getdate())
retours lundi 'et vous pouvez simplement prendre les 3 premières lettres.
J'utiliser
SELECT CONVERT(CHAR(3),DATENAME(weekday,GETDATE()))
afin d'éviter d'utiliser une autre fonction dans le SQL, la conversion à un CHAR (3) prend implicitement les 3 premiers caractères.
Jonathan
Pour SQL Server 2012+:
SELECT FORMAT(GETUTCDATE(),'ddd') AS ShortDayName
Ceci est beaucoup plus propre qu'une solution de sous-chaîne. La fonction FORMAT()
peut également être passée une culture pour le formatage conscient des paramètres régionaux.
Notez que cela fonctionne pour d'autres parties de date, comme le mois:
SELECT FORMAT(GETUTCDATE(),'MMM') AS ShortMonthName
Je ne manquerai pas de le vérifier quand je suis enfin sur SQL 2012! Peut-être avant 2020 – Nick