declare @date datetime
set @date= getdate()
--思路:当前日志所在星期的星期日再加1周
--datepart(weekday,date)的返回值与@@datefirst相关
set datefirst 7 -- 或者设置为美国英语set language us_english; (星期日为第一天)
select dateadd(week,1,dateadd(day,1-datepart(weekday,@date),@date)) as '下个星期第一天,星期日'
--一周等于7天
select dateadd(day,7,dateadd(day,1-datepart(weekday,@date),@date)) as '下个星期第一天,星期日'
--简化
select dateadd(day,8-datepart(weekday,@date),@date) as '下个星期第一天,星期日'
--下个星期日,与sql server语言版本或@@datefirst无关
select dateadd(week,1+datediff(week,-1,@date),-1) as '下个星期日'
--或者
select dateadd(week,datediff(week,-1,@date),6) as '下个星期日'
go
时间: 2024-10-25 08:36:52