0
我試圖從sql表中獲取每小時的值,其中記錄有UTC時間戳(我的本地時間提前7小時)。我試圖提取的數據的總價值爲今天早上6點到明天上午6點(當地時間)的價值總和。我試圖如下使用DATEADD:從表中檢索特定24小時時間範圍內的記錄
SELECT VALUES FROM TABLE1 WHERE TRANTIME BETWEEN
DATEADD(HOUR, 13, CONVERT(DATETIME, CONVERT(DATE, GETUTCDATE()))
AND
DATEADD(HOUR, 37, CONVERT(DATETIME, CONVERT(DATE, GETUTCDATE()))
的邏輯在於早上6點,今日早盤從UTC午夜和明天上午13小時將是自上次DAT午夜37小時。
然而,問題是當UTC日期翻轉時,由於UTC時間現在爲00或01小時,所以我沒有任何數據顯示位於between子句中的日子。
我不知道如何處理正常日期的UTC日期的這種滾動。
我想你一定要找連續兩天的差異,即第一個UTC日期爲11小時,下一個UTC日期爲13小時。 – puzeledbysql
你使用的是什麼版本的SQL-Server? 2016有這個... https://docs.microsoft.com/en-us/sql/t-sql/queries/at-time-zone-transact-sql – Leonidas199x
它的SQL 2014年,我不知道如果我們有這個。 –