Hazlo así:
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()))
Explicación:
datepart(dw, getdate())
devolverá el número del día de la semana actual, del 1 al 7, comenzando con lo que haya especificado usando ESTABLECER FECHA PRIMERO .dateadd(day, 1-datepart(dw, getdate()), getdate())
resta el número necesario de días para llegar al comienzo de la semana actualCONVERT(date,getdate())
se utiliza para eliminar la parte de la hora de GETDATE(), porque desea que los datos comiencen a la medianoche.