Jak utworzyć czas letni Funkcja Start i koniec w SQL Server
Muszę utworzyć funkcję na serwerze SQL, która zwraca czas rozpoczęcia czasu letniego i czas letni datetime.
Znalazłem kilka przykładów w sieci, jednak wszyscy używają pierwszej daty marca i 1 listopada, a to nie jest technicznie poprawne.
Czas letni zaczyna się o 2 nad ranem w drugą niedzielę marca i kończy o 2 nad ranem w pierwszą niedzielę listopada.
Zacząłem od poniższego kodu, ale jestem pewien, że jest błędny. Każda pomoc jest mile widziana! :)
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