This function returns a table of "holidays" for any given year. Rather than build a table of holidays and update it each year, this UDF stores holiday rules as procedural logic and computes the holidays of any year...
To use the function, you should first review the code and comment out any holidays you might not want to include, or possibly add any additional holidays. There are three "rules" for computing holidays dates.
- Fixed date holiday-Holidays which fall on the same "date" each year
- Fixed day holidays-Holidays which fall on the X day of the week of the Y week of the month
- Easter holidays-Holidays that are relative to the date of Easter Sunday
Once the function contains your set of holidays, you can use the function just as you would a normal SQL table. For example, the following SQL line
SELECT * FROM holiday_list(2011) ORDER BY Holiday_date