declare @ datetime
set @ = '2003-12-21' --getdate()
select dateadd(day,-datepart(weekday,@)+2 -case when datepart(weekday,@) = 1 then 7 else 0 end,@) as 周一
,dateadd(day,8-datepart(weekday,@)-case when datepart(weekday,@) = 1 then 7 else 0 end,@) as 周日
,dateadd(month,-1,@) as 上月本日
,dateadd(week,-2,dateadd(day,-datepart(weekday,@)+2 -case when datepart(weekday,@) = 1 then 7 else 0 end,@)) as 两周前周一
,dateadd(week,-2,dateadd(day,8-datepart(weekday,@)-case when datepart(weekday,@) = 1 then 7 else 0 end,@)) as 两周前周日