- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0 |
是的,要确定某一年是否是闰年是有一些方法的。举例来说,与现在流行想法相反的,不是所有能够被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引擎来为你做些麻烦的工作!
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |