我的數據庫應用程序將部署在不同時區的多個站點上。確定T-SQL中的時區偏移
我需要一個T-SQL函數來確定YTD計算當年1月1日午夜的UTC時間戳。所有數據都以UTC時間戳存儲。
例如,芝加哥是夏令時(DST)的UTC-6,如果2008年芝加哥任何時候運行,該功能需要返回'2008-01-01 06:00:00'。如果明年在紐約(GMT-5 + DST)運行,則需要返回'2009-01-01 05:00:00'。
我可以從YEAR(GETDATE())獲取當前年份。我認爲我可以在GETDATE()和GETUTCDATE()之間做一個DATEDIFF來確定偏移量,但結果取決於查詢是否在DST期間運行。我不知道任何內置的T-SQL函數用於確定偏移量還是當前時間是否爲DST?
有沒有人有解決這個問題的T-SQL?我可以硬編碼或將它存儲在一個表中,但不希望。我想這是在SQL Server 2005中使用CLR集成的完美情況。我只是想知道是否有我不知道的T-SQL解決方案?
謝謝埃裏克。我已經實施了一種基於表格的解決方案,就像您以前所建議的那樣。我只是想知道是否有什麼我錯過了會讓我的生活更輕鬆。 – 2008-10-09 22:07:51