Calculate Easter for Any Year

>>Script Language and Platform: T-SQL/SQL Server (All versions)
I needed an easy way to add Easter holiday to an events table for a database supporting a web calendar. After a little research, I found an algorithm to calculate the Western traditional date. It works for any year in the Gregorian calendar, any year after 1582.

The function accepts a four digit integer value for the year for which you want the Easter date. Any entry less than 1582 will return an error message, so I suggest using it in conjuction with the IsDate() function.

Example 1:


Select dbo.Year2Easter(2005) as Easter

Example 2:

Declare @Year int,
@Years int

Set @Year = Year(getdate())
Set @Years = 10
Set @Years = @Years + @Year

While @Year <= @Years
Begin
Select @Year As [Year],
Easter = Case IsDate
(dbo.Year2Easter(@Year))
When 1 Then dbo.Year2Easter(@Year)
Else Null
End

Set @Year = @Year + 1
End

Author: Robert Davis

Download Script:
calculate_easter.sql



Disclaimer:
We hope that the information on these script pages is
valuable to you. Your use of the information contained in these pages,
however, is at your sole risk. All information on these pages is provided
“as -is”, without any warranty, whether express or implied, of its accuracy,
completeness, or fitness for a particular purpose…

Disclaimer Continued

Back to Database Journal Home

Get the Free Newsletter!

Subscribe to Cloud Insider for top news, trends & analysis

Latest Articles