Отговорът на Quassnoi работи, но някак ви оставя на куката да изчистите датите, ако са дати в средата на деня (неговото начало на седмицата ви оставя един ден по-рано, отколкото трябва да бъдете, ако използвате време в средата на деня -- можете да тествате с помощта на GETDATE()).
Използвах нещо подобно в миналото:
SELECT
CONVERT(varchar(50), (DATEADD(dd, @@DATEFIRST - DATEPART(dw, DATECOL), DATECOL)), 101),
CONVERT(varchar(50), (DATEADD(dd, @@DATEFIRST - DATEPART(dw, DATECOL) - 6, DATECOL)), 101)
Странична полза от това е, че с помощта на @@DATEFIRST можете да обработвате нестандартни начални дни на седмицата (по подразбиране е неделя, но с SET @@DATEFIRST можете да промените това).
Изглежда налудничаво, че простата манипулация на дата в SQL Server трябва да е толкова тайнствена, но ето...