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

发布时间:2020-03-26  栏目:数据  评论:0 Comments

declare @date datetimeset @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,-6-datepart(weekday,@date),@date) as
‘上个星期第一天,星期日’–上个星期日,与sql
server语言版本或@@datefirst无关select
dateadd(week,-1+datediff(week,-1,@date),-1) as
‘上个星期日’–或者select dateadd(week,datediff(week,6,@date),-1) as
‘上个星期日’go

declare @date datetimeset @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

留下评论

网站地图xml地图