SQL SERVER中求上月、本月和下月的第一天和最后一天[转]

 --上月的第一天
 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 )))

 

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

你可能感兴趣的:(SQL SERVER中求上月、本月和下月的第一天和最后一天[转])