2011-06-22 166 views
0

我試圖將存儲在SQL Azure中的datetimeOffset轉換爲UTC DateTime,以便我可以執行正確的計算。TSQL將DateOffset轉換爲UTC

的的DateTimeOffset存儲爲本地新西蘭時間爲:

2011-05-31 21:40:00.0000000 +10:00

我需要將上述數值轉換爲UTC如此我可以執行日期時間計算。有什麼辦法可以使用TSQL和Azure SSRS來實現這一點嗎?

感謝堆。

+0

可能重複[如何將Sql Server 2008 DateTimeOffset轉換爲DateTime](http://stackoverflow.com/questions/4953903/how-can-i-convert-a-sql-server-2008-datetimeoffset -to-A-日期時間) –

回答

1

這裏是另一個線程,可能會給你一些想法:TSQL: How to convert local time to UTC? (SQL Server 2008)

關閉我的頭頂,如果你知道你正在使用的日期時間是從新西蘭,你知道UTC偏移是什麼。它應該基於兩個值之一(如果他們有夏令時)。

所以做一個函數調用dateadd,確定您是否在夏時制或不。您如何確定您是否在特定日期的夏令時?好問題。除非有.NET函數,否則你可以變成一個CLR函數,我只需創建一個查找表和一個測試這個函數的函數。該函數返回布爾值或爲新西蘭返回適當的偏移量。

我會將新的派生值保存到新列中,但我不確定您的需求是什麼。