在 SQL Server 中,DATETIMEOFFSET 值儲存日期和時間,以及與 UTC 的偏移量。要在考慮偏移量的同時將DATETIMEOFFSET 字段轉換為DATETIME 字段,從而有效地將其轉換為UTC,請考慮以下事項:
使用CONVERT 或CAST 將DATETIMEOFFSET 值轉換為DATETIME2 將透過自動丟棄將該值轉換為UTC偏移量。例如:
DECLARE @createdon DATETIMEOFFSET = '2008-12-19 17:30:09.0000000 +11:00'; SELECT CONVERT(DATETIME2, @createdon, 1); -- Output: 2008-12-19 06:30:09.0000000
但是,將 DATETIMEOFFSET 轉換為 DATETIME 不會將偏移量設為 UTC。若要明確轉換為偏移量為 00:00 的 DATETIME,請使用 DATETIMEOFFSET 函數:
SELECT CONVERT(DATETIMEOFFSET, CONVERT(DATETIME2, @createdon, 1)); -- Output: 2008-12-19 06:30:09.0000000 +00:00
以上是如何將 SQL Server DATETIMEOFFSET 轉換為 UTC DATETIME?的詳細內容。更多資訊請關注PHP中文網其他相關文章!