4
我在Oracle數據庫表中有一列,其類型爲TIMESTAMP(6) WITH TIME ZONE
。有來自不同時區的數據的數據行,一些UTC,其他時區偏移量的數據。查詢Oracle TIMESTAMP WITH TIMEZONE
有沒有一種方法可以查詢Oracle表,以便結果始終以UTC的形式返回,並且正確完成時間轉換?有沒有什麼可以完成查詢本身,或者可能改變會議?我嘗試將會話時區更改爲Utc,但這似乎隻影響CURRENT_TIMESTAMP值。
ALTER SESSION SET TIME_ZONE = 'Utc'
例如,如果這個值是存儲爲:
21-JAN-10 03.28.38.635000000 PM -05:00
查詢會回來的
21-JAN-10 08.28.38.635000000 PM Utc
示例表定義
CREATE TABLE "MyDb"."Books"
(
"GUID" RAW(32) DEFAULT SYS_GUID(),
"DATE_CREATED" TIMESTAMP (6) WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
);
我猜有沒有辦法,我可以改變的會話,這樣的邏輯「AT TIME ZONE‘UTC’」是全自動的嗎? – 2012-02-10 15:54:05
@StealthRabbi - 如果該列是「TIMESTAMP WITH LOCAL TIME ZONE」,則該值將被隱式轉換爲可設置爲UTC的會話時區。 'TIMESTAMP WITH TIME ZONE'會顯示在插入的任何時區,除非您使用'AT TIME ZONE'語法來轉換它。 – 2012-02-10 16:02:19