我正在用 T-SQL 编写一个函数,该函数返回该月的最后一天,而不管日期输入如何。
这是我的代码:
Alter Function dbo.FN_Get_Last_Day_in_Month2
(@FN_InputDt Datetime)
Returns smalldatetime
as
Begin
Declare @Result smalldatetime
Set @Result =
case when @FN_InputDt <> 01-01-1900 then
DATEADD(m, DATEDIFF(M, 0,@FN_InputDt)+1, -1)
Else 0 End
Return @Result
End
代码无法正常工作,这是一个显示不良行为的测试:
SELECT dbo.fn_get_last_day_in_month (07-05-2010)
这是(不正确的)结果:
2010-07-31 00:00:00