龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Sql Server开发 >

查询给定日期所在星期的上一个星期日(星期日为第一天)sql语句

时间:2013-01-03 18:08来源:未知 作者:admin 点击:
分享到:
查询给定日期所在星期的上一个星期日(星期日为第一天)sql语句 declare @date datetime set @date= getdate() --思路:当前日志所在星期的星期日再减1周 --datepart(weekday,date)的返回值与@@datefirst相关

查询给定日期所在星期的上一个星期日(星期日为第一天)sql语句

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,-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

精彩图集

赞助商链接