试试这个:
declare @date datetime;set @date='2012-08-09'SELECT case when datepart(weekday, @date) >5 then DATEADD(DAY, +4, DATEADD(WEEK, DATEDIFF(WEEK, 0, @date), 0)) else DATEADD(DAY, -3, DATEADD(WEEK, DATEDIFF(WEEK, 0, @date), 0)) end
结果 :
2012-08-03
范例2:
declare @date datetime;set @date='2012-08-10'SELECT case when datepart(weekday, @date) >5 then DATEADD(DAY, +4, DATEADD(WEEK, DATEDIFF(WEEK, 0, @date), 0)) else DATEADD(DAY, -3, DATEADD(WEEK, DATEDIFF(WEEK, 0, @date), 0)) end
结果 :
2012-08-10



