【www.gdgbn.com--excel】

计算给定日期所在星期的第2天(星期日为第一天)

declare @date  datetime
set @date= getdate()
--思路:当前日期+星期一(每周的第2天)与当前日期的差的天数
--datepart(weekday,date)的返回值与@@datefirst相关
set datefirst 7 -- 或者设置为美国英语set language us_english; (星期日为第一天)
select dateadd(day,2-datepart(weekday,@date),@date) as "所在星期的第二天,星期一"
--星期一,与sql server语言版本或@@datefirst无关
--"1900-01-01" 是星期一,"1900-01-01" 再加上(当前日期与1900-01-01差的星期数)个星期
select dateadd(week,datediff(week,0,@date),0) as "所在星期的星期一"
go

本文来源:http://www.gdgbn.com/bangongshuma/26044/