计算给定日期所在星期的第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