Here is the original and another method.
It works from 1743 to 9998
Steve
Declare @Year_Begin as int, @Year_End as int,
@IndependeceDay as char(10), @DayofWeek as char(10)
If exists (select * From dbo.sysobjects
Where id = object_id(N'Independence'))
Drop Table Independence
Create Table Independence
( Four_of_July varchar(10),
Day_of_Week varchar(10))
Set @Year_Begin = 1753
Set @Year_End = 9998
While (@Year_Begin <= @Year_End)
Begin
If datepart(Dw,'07/04/'+ cast (@Year_Begin as char)) = 1
Set @DayofWeek = 'Sunday'
Else if datepart(Dw,'07/04/'+ cast (@Year_Begin as char)) = 2
Set @DayofWeek = 'Monday'
Else if datepart(Dw,'07/04/'+ cast (@Year_Begin as char)) = 3
Set @DayofWeek = 'Tuesday'
Else if datepart(Dw,'07/04/'+ cast (@Year_Begin as char)) = 4
Set @DayofWeek = 'Wednesday'
Else if datepart(Dw,'07/04/'+ cast (@Year_Begin as char)) = 5
Set @DayofWeek = 'Thursday'
Else if datepart(Dw,'07/04/'+ cast (@Year_Begin as char)) = 6
Set @DayofWeek = 'Friday'
Else if datepart(Dw,'07/04/'+ cast (@Year_Begin as char)) = 7
Set @DayofWeek = 'Saturday'
Set @IndependeceDay = '07/04/' + cast(@Year_Begin as char)
Insert Into Independence(Four_of_July,Day_of_Week)
Values (@IndependeceDay ,@DayofWeek)
Set @Year_Begin = @Year_Begin + 1
End
Select * From Independence
Declare @Year_Begin_DT as datetime, @Year_End_DT as datetime
If exists (select * From dbo.sysobjects
Where id = object_id(N'Independence'))
Drop Table Independence
Create Table Independence
( Four_of_July DateTime,
Day_of_Week varchar(10))
Set @Year_Begin_DT = '7/4/1753'
Set @Year_End_DT = '7/4/9998'
PRINT @Year_Begin_DT
While (@Year_Begin_DT <= @Year_End_DT)
Begin
Set @DayofWeek = CASE DATEPART(weekday, @Year_Begin_DT)
WHEN 1 THEN 'Sunday'
WHEN 2 THEN 'Monday'
WHEN 3 THEN 'Tuesday'
WHEN 4 THEN 'Wednesday'
WHEN 5 THEN 'Thursday'
WHEN 6 THEN 'Friday'
WHEN 7 THEN 'Saturday'
END
PRINT @Year_Begin_DT
PRINT @DayofWeek
Insert Into Independence(Four_of_July,Day_of_Week)
Values (@Year_Begin_DT,@DayofWeek)
Set @Year_Begin_DT = DATEADD(year, 1, @Year_Begin_DT)
End
Select * From Independence