您的位置:首页 > 数据库

SQL函数获取一年中每个月的天数

2014-03-08 08:55 337 查看
第一步:编写判断一年是否是闰年的函数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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: