![](/img/trans.png)
[英]Convert a given datetime to UTC time based on time zone description in SQL
[英]SQL Server datetime values expressed as UTC with time zone designator
Order
表包含OrderDate
和OfficeNum
等列,而Office
表包含時區相關列TimeZone
和UseDST
除了OfficeNum
。
如何使用時區指示符將訂單日期表示為 UTC 時間值(在 SQL Server 2008+ 中)?
SELECT OrderNum
,ord.OfficeNum
,TimeZone
,UseDST
,OrderDate AS OrderLocalTime
,OrderUtcTime = dateadd(hh, -TimeZone + UseDST, OrderDate)
--need local time expressed as UTC with time zone designator e.g. 2018-08-27T14:45:14-05:00
FROM Orders ord
JOIN Office ofc ON ord.OfficeNum = ofc.OfficeNum
WHERE OrderNum = 1
關於如何在 SQL Server 中正確處理 TimeZone 有多個帖子,例如https://dba.stackexchange.com/questions/39421/how-to-handle-timezone-properly-in-sql-server/114628我的問題是我不需要根據服務器的時區轉換服務器上的當前時間值,而是表達保存在數據庫中的時間戳值,知道 2 個參數:TimeZone 作為整數(偏移量)和 UseDST,表示是否為夏令時被使用與否。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.