Udělejte to takto:
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()))
Vysvětlení:
datepart(dw, getdate())
vrátí číslo dne v aktuálním týdnu, od 1 do 7, počínaje tím, co jste zadali pomocí SET DATEFIRST .dateadd(day, 1-datepart(dw, getdate()), getdate())
odečte potřebný počet dní k dosažení začátku aktuálního týdneCONVERT(date,getdate())
se používá k odstranění časové části GETDATE(), protože chcete, aby data začínala o půlnoci.