34,587
社区成员
发帖
与我相关
我的任务
分享
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) - 7
/*
-----------------------
2008-11-17 00:00:00.000
(1 行受影响
*/
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate())-1, 0)
/*
-----------------------
2008-11-17 00:00:00.000
(1 行受影响
*/
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) - 7
* SQL Server日期计算
a. 一个月的第一天
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
b. 本周的星期一
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
c. 一年的第一天
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
d. 季度的第一天
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
e. 上个月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
f. 去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
g. 本月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
h. 本月的第一个星期一
select DATEADD(wk, DATEDIFF(wk,0,
dateadd(dd,6-datepart(day,getdate()),getdate())
), 0)
i. 本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))。
declare @date datetime
set @date='2008-11-28'
select @date-7+(2-datepart(dw,@date+@@datefirst))