2014-03-13 44 views

回答

0

以下標量函數需要一年的時間,並返回一個位標誌,指示年度過去是否爲閏年。

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 

Here are a few examples: 

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?' 

說明:

註明日期輸入到您的自定義SQL函數 該函數將在這一年,追加「0228」到它(爲2月28日),每天增加。 如果第二天的月份是2(由DATEPART函數提取),那麼我們仍然在2月份,所以它必須是閏年!如果不是,那不是閏年。