-- this code returns the start and end datetime’s for DST in the current year -- DST begins at 2am on the SECOND SUNDAY of March and ends the FIRST SUNDAY of November SELECT DATEADD(HOUR, (MULTIPLIER + 7 /*skip the first week*/) * 24 /*24 hours a day*/ + 2 /*offset to 2am*/, StartWeek) AS StartDate, DATEADD(HOUR, MULTIPLIER * 24 + 2, EndWeek) AS EndDate FROM ( SELECT 0 AS MULTIPLIER, 1 AS DOW UNION ALL SELECT 6, 2 UNION ALL SELECT 5, 3 UNION ALL SELECT 4, 4 UNION ALL SELECT 3, 5 UNION ALL SELECT 2, 6 UNION ALL SELECT 1, 7 ) dow, (SELECT '03/01/' + convert(varchar, DATEPART(YEAR, GETDATE())) AS StartWeek, '11/01/' + convert(varchar, DATEPART(YEAR, GETDATE())) AS EndWeek ) DST WHERE DATEPART(WEEKDAY, StartWeek) = DOW