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.