1
但是,我需要添加類型爲TIMESTAMP WITH TIMEZONE的秒和substract變量,但是,根據我的理解,向此類數據添加數字會導致關於時區的信息丟失,這可能是因爲它轉換爲DATE類型ORACLE SQL:將時間添加到帶時區的時間戳
即:
SELECT FROM_TZ(
TO_TIMESTAMP(
TO_DATE('03/09/2012 2:30:30','DD/MM/YYYY HH:MI:SS')
)
, 'America/Chicago')
FROM DUAL;
給出:
03/09/2012 00:00:00, -05:00
然後
SELECT FROM_TZ(
TO_TIMESTAMP(
TO_DATE('03/09/2012 2:30:30','DD/MM/YYYY HH:MI:SS')
)
, 'America/Chicago') + 1/24 -- add 1 hour
FROM DUAL;
給人
03/09/2012 01:00:00
,失去時區信息。 但
SELECT FROM_TZ(
TO_TIMESTAMP(
TO_DATE('03/09/2012 2:30:30','DD/MM/YYYY HH:MI:SS'))
, 'America/Chicago') + INTERVAL '1' hour
FROM DUAL;
正確給
03/09/2012 01:00:00,000000000 -05:00
然而,間隔..語法想到一個字符常量,所以我不能使用與變量。
如何在保留時區信息的同時使用TIMESTAMP WITH TIME ZONE數據類型執行這種算術?
TIA