Мне нужно создать функцию на SQL-сервере, которая возвращает летнее время, начинающееся с даты и времени и с летнего времени, заканчивающегося datetime.
Я нашел несколько примеров в Интернете, однако все они используют 1-ю дату марта и 1-ю дату ноября, и это не является технически корректным.
Переход на летнее время начинается в 2 часа ночи во второе воскресенье марта и заканчивается в 2 часа ночи в первое воскресенье ноября.
Я начал с кода ниже, но я уверен, что это неправильно. Любая помощь приветствуется!:)
DECLARE @DSTSTART DATETIME
SELECT @DSTSTART = CASE WHEN
DATEPART(MONTH, SYSDATETIME()) = 3
AND DATEPART(weekday, SYSDATETIME()) = 1
AND DATEDIFF(week,dateadd(week, datediff(week, 0, dateadd(month, datediff(month, 0, SYSDATETIME()), 0)), 0), SYSDATETIME() - 1) = 2
AND DATEPART(HOUR, SYSDATETIME()) = 2
THEN SYSDATETIME()
END
RETURN (@DSTSTART)
END
GO