/*
author OceanHo @ 2015-10-23 10:14:21
获取指定时间字符串指定日期的月最后一天日期
*/
IF OBJECT_ID('get_LastDayDate') IS NOT NULL
DROP FUNCTION get_LastDayDate
GO
CREATE FUNCTION get_LastDayDate(@dateString NVARCHAR(25))
RETURNS DATETIME
AS
BEGIN
SELECT @dateString =
DATEADD(
/** 将参数3指定的时间加上参数2的天数 **/
DAY,
/**
例如:@dateString = 2015-10-23 23:59:59
获取 @dateString 的时间 天 部分,因为第三个参数,把@dateString加了一个月,得到的时间就是 2015-11-23 23:59:59
这个时间的 DAY 部分,也就是 23 就是下个月 1-23号的天数,第三个参数 减去 这个天数,得到的就是前一个月的最后一天
**/
-(DATEPART(DAY,@dateString)),
/* 将@date 加上一个月,得到的就是下个月的今天的具体时间 */
DATEADD(MONTH,1,@dateString)
)
RETURN @dateString
END
GO
-- 测试调用
SEL