Zrób to tak:
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()))
Wyjaśnienie:
datepart(dw, getdate())
zwróci numer dnia w bieżącym tygodniu, od 1 do 7, zaczynając od tego, co określiłeś za pomocą USTAW PIERWSZĄ DATĘ .dateadd(day, 1-datepart(dw, getdate()), getdate())
odejmuje niezbędną liczbę dni, aby dotrzeć do początku bieżącego tygodniaCONVERT(date,getdate())
służy do usuwania części czasu funkcji GETDATE(), ponieważ chcesz, aby dane zaczynały się o północy.