首页 > 技术文章 > SQL SERVER中求上月、本月和下月的第一天和最后一天 DATEADD DATEDIFF

zhier 2016-06-23 19:32 原文

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

 

1、上月的第一天

SELECT CONVERT(CHAR(10),DATEADD(month,-1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)

 

2、上月的最后一天

SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()),0)),111)+' 23:59:59'

 

3、本月的第一天

SELECT CONVERT(CHAR(10),DATEADD(dd,-DAY(GETDATE())+1,GETDATE()),111)

 

4、本月的最后一天

SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0)),111)+' 23:59:59'

 

5、来月的最后第一天

SELECT CONVERT(CHAR(10),DATEADD(m,1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)

 

6、来月的最后一天

SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+2,0)),111)+' 23:59:59'

推荐阅读