/*
用SQL获取某年某个月份的最后一天的日期
思路:首先把某日期的月份加一,再把结果的日期减一
*/
--@Date为字符串的日期:例如 dbo.GetLastDay('2011-2-5') 得到结果为 2月份的最后一天
create function GetLastDay(@Date nvarchar(50))
returns datetime
as
begin
DECLARE @DateChar AS nVarChar(19)
declare @LastDay datetime
--返回你需要的
SET @DateChar = CONVERT(Char(8), CAST(@Date AS DATETIME), 120) + '01 00:00:00' --时间的月份的第一天
SELECT @LastDay=DATEADD(d, -1, DATEADD(m, 1, CAST(@DateChar AS DATETIME)))
return @LastDay
end