使用不同的时区oracle减去时间戳[重复]

a14dhokn  于 2023-10-16  发布在  Oracle
关注(0)|答案(1)|浏览(129)

此问题已在此处有答案

Oracle: Error in converting DateTime to Epoch(2个答案)
Convert timestamp to Epoch date in pl/sql in stored procedure [closed](2个答案)
checking expiryDate in Oracle query(3个答案)
10天前关闭。
我正在尝试将两个时间戳列相互相减。其中一个在亚洲/耶路撒冷,另一个在utc。我在想我能在哪个时区拿到结果。我这样做是为了尝试从我的时间戳列中获取历元秒(时间戳存储在Asia/耶路撒冷)该表存储在Oracle DB中
我在utc时区创建了一个值为“1970-01-01 00:00:00.000000”的timestamp列,并将这两列相减,得到的epoch时间比预期的晚了两个小时

zlhcx6iw

zlhcx6iw1#

从一个时间戳中减去另一个时间戳将返回一个间隔,而间隔没有时区。
例如,如果运行以下命令:

WITH cteData
  AS (SELECT SYSTIMESTAMP AS CURRENT_TIMESTAMP,
             TIMESTAMP '2023-10-05 08:00:00 -02:00' AS TEST_TIMESTAMP
        FROM DUAL)
SELECT CURRENT_TIMESTAMP,
       TEST_TIMESTAMP,
       CURRENT_TIMESTAMP - TEST_TIMESTAMP AS RESULTING_INTERVAL
  FROM cteData;

你会得到类似的结果:

CURRENT_TIMESTAMP   05-OCT-23 08.57.59.127452 AM -04:00  
TEST_TIMESTAMP      05-OCT-23 08.00.00.000000000 AM -02:00
RESULTING_INTERVAL  +000000000 02:57:59.127452000

相关问题