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
return(select case datepart(mm, dateadd(dd, 1, cast((cast(@year as varchar(4)) + ‘0228’) as datetime)))
when 2 then 1
else 0

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


Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s