Function to determine if a given year is a leap year

Here is a nice function for determining if the year in question is a leap year.

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

After creating the function, run the following example code to see if the results.

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

This code for this function was created by Armondo Prato  and can be found here http://www.mssqltips.com/tip.asp?tip=1527.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s