Gør det sådan her:
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()))
Forklaring:
datepart(dw, getdate())
returnerer nummeret på dagen i den aktuelle uge, fra 1 til 7, begyndende med det, du har angivet ved hjælp af INDSTILL FØRST DATO .dateadd(day, 1-datepart(dw, getdate()), getdate())
trækker det nødvendige antal dage for at nå begyndelsen af den aktuelle ugeCONVERT(date,getdate())
bruges til at fjerne tidsdelen af GETDATE(), fordi du vil have data, der begynder ved midnat.