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年,我不知道如果我们有这个。 –