开发学院数据库MSSQL Server 应用技巧:如何确定闰年的函数 阅读

应用技巧:如何确定闰年的函数

 2008-12-31 10:19:01 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閹碱偆鐥閺屾洘绻濊箛鏇犵獥闂佺厧澹婃禍婊堚€旈崘顏佸亾閿濆骸澧ù鐘欏嫮绠鹃柛顐ゅ枎閻忋儲銇勯弴妯哄姦妞ゃ垺鐟╅幃鈩冩償閵囧府鎷�
核心提示:是的,要确定某一年是否是闰年是有一些方法的,应用技巧:如何确定闰年的函数,举例来说,与现在流行想法相反的,所以它肯定是一个闰年!如果不是,那么它就不是闰年,不是所有能够被4整除的年份都是闰年,例如

是的,要确定某一年是否是闰年是有一些方法的。举例来说,与现在流行想法相反的,不是所有能够被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引擎来为你做些麻烦的工作!

Tags:应用技巧 如何 确定

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接