select
a.*,
Monday = dateadd(dd,(datediff(dd,-53690,a.DATE)/7)*7,-53690)
from
( -- Test Data
select [Date]= getdate()-2union all
select [Date]= getdate()-1union all
select [Date]= getdate()union all
select [Date]= getdate()+1union all
select [Date]= getdate()+2union all
select [Date]= getdate()+3union all
select [Date]= getdate()+4union all
select [Date]= getdate()+5union all
select [Date]= getdate()+6union all
select [Date]= getdate()+7union all
select [Date]= getdate()+8
) a
order by
a.[Date]
Results:
Date Monday
----------------------- -----------------------
2012-12-02 13:05:22.770 2012-11-26 00:00:00.000
2012-12-03 13:05:22.803 2012-12-03 00:00:00.000
2012-12-04 13:05:22.803 2012-12-03 00:00:00.000
2012-12-05 13:05:22.803 2012-12-03 00:00:00.000
2012-12-06 13:05:22.803 2012-12-03 00:00:00.000
2012-12-07 13:05:22.803 2012-12-03 00:00:00.000
2012-12-08 13:05:22.803 2012-12-03 00:00:00.000
2012-12-09 13:05:22.803 2012-12-03 00:00:00.000
2012-12-10 13:05:22.803 2012-12-10 00:00:00.000
2012-12-11 13:05:22.803 2012-12-10 00:00:00.000
2012-12-12 13:05:22.803 2012-12-10 00:00:00.000