如何确定闰年的函数(应用)
来源:优易学  2011-1-7 10:23:55   【优易学:中国教育考试门户网】   资料下载   IT书店
  是的,要确定某一年是否是闰年是有一些方法的。举例来说,与现在流行想法相反的,不是所有能够被4整除的年份都是闰年。例如,1900年就不是闰年。不过你不需要烦恼于闰年的规则。你可以让SQL Server引擎来做这个工作!
  下面的函数输入一个年份会返回位比特标识来显示输入的年份是否是闰年。
  create function dbo.fn_IsLeapYear (@year int)
  returns bit
  as
  begin
  return(select case datepart(mm, dateadd(dd, 1, cast((cast(@year as varchar(4)) + ’0228’) as datetime)))
  when 2 then 1
  else 0
  end)
  end
  go
  这是全部的代码!这个函数输入参数为年份,对它附加上“0228”(代表2月28日)并增加一天。如果第二天的月份是一个2(DATEPART函数所提取的),那么我们就是还在2月份,所以它肯定是一个闰年!如果不是,那么它就不是闰年。
  下面是一些示例:
  select dbo.fn_IsLeapYear(1900) as ’IsLeapYear?’
  select dbo.fn_IsLeapYear(2000) as ’IsLeapYear?’
  select dbo.fn_IsLeapYear(2007) as ’IsLeapYear?’
  select dbo.fn_IsLeapYear(2008) as ’IsLeapYear?’


  图1

  正如你所看到的,有时你可以利用SQL Server引擎来为你做些麻烦的工作!

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训