2011-11-25 77 views
2

我使用SELECT * INTO ....語句(在Management Studio中)將數據從一個SQL Server傳輸到另一個SQL Server。兩個數據庫都有不同的時區設置。在不同時區的SQL Server之間進行數據傳輸

是否可以自動調整所有日期/時間字段到不同的時區?也許一些查詢參數或連接設置?

+0

哪個**版本的SQL Server?使用** SQL Server 2008 **,您可以獲得'DATETIMEOFFSET'數據類型和'SWITCHOFFSET'功能,可將日期和時間從一個時區轉換爲另一個時區。 –

+0

SQL Server 2008.通常我知道如何轉換一個特定的字段。我想要的是能夠使用SELECT * INTO ....我想避免一個一個地轉換所有字段。 – user1066007

回答

1

既然你是SQL Server 2008上,您可以使用DATETIMEOFFSET datatype的內置功能,以及SWITCHOFFSET功能。

你可以這樣做:

INSERT INTO dbo.YourTargetTable(......) 
    SELECT 
     SWITCHOFFSET(TODATETIMEOFFSET(YourSourceTime, '+04:00'), '-09:00'), 
     ....... 

TODATETIMEOFFSET沒有任何時區信息轉換你的「正規」的日期爲DATETIMEOFFSET類型與時區(源位置),然後你可以申請一個SWITCHOFFSET調用該值將您的日期/時間「切換」到目標位置的時區。

這可以在INSERT....SELECT語句的範圍內完成 - 不需要單獨的「逐行」更新。

相關問題