sql 上个月,下个月时间处理函数

阅读更多
--上月的第一天
SELECT CONVERT(CHAR(10),DATEADD(month,-1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)
SELECT DATEADD(mm,DATEDIFF(mm,0,dateadd(month,-1,getdate())),0)
--上月的最后一天
SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()),0)),111)+' 23:59:59'
select dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))
--本月的第一天
SELECT CONVERT(CHAR(10),DATEADD(dd,-DAY(GETDATE())+1,GETDATE()),111)
SELECT CONVERT(datetime,CONVERT(char(8),GETDATE(),120)+'1')
--本月的最后一天
SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0)),111)+' 23:59:59'
select DATEADD(d,-day(getdate()),dateadd(m,1,getdate()))
--下个月的最后第一天
SELECT CONVERT(CHAR(10),DATEADD(m,1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)
--下月的最后一天
SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+2,0)),111)+' 23:59:59'
--获取当天的最后一刻
select DATEADD(SS,-1,dateadd(day,1,CONVERT(varchar(15) , getdate(), 102 )))



--上上个月第一天
SELECT DATEADD(mm,DATEDIFF(mm,0,dateadd(month,-1,DATEADD(mm,DATEDIFF(mm,0,dateadd(month,-1,getdate())),0))),0)

--上上个月最后一天
select dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))),0))

转自:https://www.cnblogs.com/qiangshu/p/5453155.html

你可能感兴趣的:(sql)