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