1 /* 2 author OceanHo @ 2015-10-23 10:14:21 3 获取指定时间字符串指定日期的月最后一天日期 4 */ 5 IF OBJECT_ID('get_LastDayDate') IS NOT NULL 6 DROP FUNCTION get_LastDayDate 7 GO 8 9 CREATE FUNCTION get_LastDayDate(@dateString NVARCHAR(25))10 RETURNS DATETIME11 AS12 BEGIN13 14 SELECT @dateString = 15 DATEADD(16 /** 将参数3指定的时间加上参数2的天数 **/17 DAY,18 19 /** 20 例如:@dateString = 2015-10-23 23:59:5921 获取 @dateString 的时间 天 部分,因为第三个参数,把@dateString加了一个月,得到的时间就是 2015-11-23 23:59:5922 这个时间的 DAY 部分,也就是 23 就是下个月 1-23号的天数,第三个参数 减去 这个天数,得到的就是前一个月的最后一天 23 **/24 -(DATEPART(DAY,@dateString)),25 26 /* 将@date 加上一个月,得到的就是下个月的今天的具体时间 */27 DATEADD(MONTH,1,@dateString)28 )29 RETURN @dateString30 END31 32 GO33 34 -- 测试调用35 SELECT dbo.get_LastDayDate(GETDATE()) AS 本月最后一天日期36 37 38 SELECT dbo.get_LastDayDate(N'2015-02-05') AS 二月份最后一天日期