抱歉打扰各位了。我的任务是在客户端进行一些代码审查,发给我的笔记本电脑没有安装 SQL。当我在等待安装时,想忙着查看代码并遇到了这个 gem
CREATE FUNCTION [dbo].[Uf_GetTotalDaysInMonth]
(
-- Add the parameters for the function here
@anydateofMonth datetime
)
RETURNS int
AS
BEGIN
-- Declare the return variable here
DECLARE @totalDaysInMonth int
-- Add the T-SQL statements to compute the return value here
DECLARE @givendate datetime
SET @givendate = STR(Year(@givendate)) + '-' + STR(Month(@givendate) + 1) + '-01'
select @totalDaysInMonth = datepart(dd, dateadd(day, -1, @givendate))
-- Return the result of the function
RETURN @totalDaysInMonth
END
忽略不必要的额外变量的使用,我相信这个函数会在12月崩溃
STR(Month(@givendate) + 1)
将评估为 13 并将给出超出范围的日期错误。有人可以帮我验证一下吗?