Doe het als volgt:
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()))
Uitleg:
datepart(dw, getdate())retourneert het nummer van de dag in de huidige week, van 1 tot 7, beginnend met wat je hebt opgegeven met STEL EERST DATUM IN .dateadd(day, 1-datepart(dw, getdate()), getdate())trekt het benodigde aantal dagen af om het begin van de huidige week te bereikenCONVERT(date,getdate())wordt gebruikt om het tijdgedeelte van GETDATE() te verwijderen, omdat u gegevens wilt die om middernacht beginnen.