To find the day of week, regardless of
-SET DATEFIRST
-SET DATEFORMAT
-SET LANGUAGE
The first one is based on Zellers Congruence.
The second one is a SQL server proprietary.
2007-10-02 (first published: 2002-06-20)
15,451 reads
To find the day of week, regardless of
-SET DATEFIRST
-SET DATEFORMAT
-SET LANGUAGE
The first one is based on Zellers Congruence.
The second one is a SQL server proprietary.
DECLARE @sDate char(8) SET @sDate = '19650124' --Winston Churchills last day SELECT CASE CAST(DATEDIFF(DAY,'17530101',@sDate) AS int) - ( CAST(DATEDIFF(DAY,'17530101',@sDate) AS int) / 7) * 7 WHEN 0 THEN 'Monday' WHEN 1 THEN 'Tuesday' WHEN 2 THEN 'Wednesday' WHEN 3 THEN 'Thursday' WHEN 4 THEN 'Friday' WHEN 5 THEN 'Saturday' WHEN 6 THEN 'Sunday' ELSE NULL END SELECT CASE(datepart(dw, '19650124')+ @@datefirst)%7 WHEN 2 THEN 'Monday' WHEN 3 THEN 'Tuesday' WHEN 4 THEN 'Wednesday' WHEN 5 THEN 'Thursday' WHEN 6 THEN 'Friday' WHEN 0 THEN 'Saturday' WHEN 1 THEN 'Sunday' ELSE NULL END