第一步:编写判断一年是否是闰年的函数IsLeapYear
CREATE FUNCTION IsLeapYear( @Year INT)
RETURNS BIT AS
BEGIN
IF (@Year % 4 = 0) and ((@Year % 100 <> 0) or (@Year % 400 = 0)) RETURN 1
RETURN 0
END
第二步:编写一年中每个月的天数函数DaysPerMonth
CREATE FUNCTION DaysPerMonth( @Year INT, @Month INT)
RETURNS INT AS
BEGIN
declare @Days INT
SET @Days =
case @Month
when 1 then 31
when 2 then 28
when 3 then 31
when 4 then 30
when 5 then 31
when 6 then 30
when 7 then 31
when 8 then 31
when 9 then 30
when 10 then 31
when 11 then 30
else 31
end
IF (@Month = 2) and (dbo.IsLeapYear(@Year) =1)--调用第一步的闰年判断函数。
SET @Days= @Days +1
return @Days
END