获得一个月的最后一天
使用 DATEADD
和 DATEDIFF
函数,可以返回一个月的最后一个日期。
SELECT DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, '2016-09-23') + 1, 0))
-- 2016-09-30 00:00:00.000
Version >= SQL Server 2012
EOMONTH
函数提供了一种更简洁的方式来返回一个月的最后一个日期,并且有一个可选参数来抵消月份。
SELECT EOMONTH('2016-07-21') --2016-07-31
SELECT EOMONTH('2016-07-21', 4) --2016-11-30
SELECT EOMONTH('2016-07-21', -5) --2016-02-29