Faites comme ceci :
SET DATEFIRST 1 -- Define beginning of week as Monday
SELECT [...]
AND WorkDate >= dateadd(day, 1-datepart(dw, getdate()), CONVERT(date,getdate()))
AND WorkDate < dateadd(day, 8-datepart(dw, getdate()), CONVERT(date,getdate()))
Explication :
datepart(dw, getdate())
renverra le numéro du jour de la semaine en cours, de 1 à 7, en commençant par ce que vous avez spécifié en utilisant DÉFINIR LA PREMIÈRE DATE .dateadd(day, 1-datepart(dw, getdate()), getdate())
soustrait le nombre de jours nécessaire pour arriver au début de la semaine en coursCONVERT(date,getdate())
est utilisé pour supprimer la partie heure de GETDATE(), car vous voulez que les données commencent à minuit.