Friday, October 4, 2013

IsLeapYear or Not in SqlServer

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
Output
select dbo.fn_IsLeapYear(1900) as ‘IsLeapYear?’
–0
select dbo.fn_IsLeapYear(2000) as ‘IsLeapYear?’
–1
select dbo.fn_IsLeapYear(2007) as ‘IsLeapYear?’
–0
select dbo.fn_IsLeapYear(2008) as ‘IsLeapYear?’
1
select dbo.fn_IsLeapYear(2009) as ‘IsLeapYear?’
0

No comments:

Post a Comment