簡體   English   中英

SQL Server 日期時間值表示為帶有時區指示符的 UTC

[英]SQL Server datetime values expressed as UTC with time zone designator

Order表包含OrderDateOfficeNum等列,而Office表包含時區相關列TimeZoneUseDST除了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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM