1
我有一個TIMESTAMP(6)與時區的Oracle列的表。該表格包含不同時區的記錄。我想將表格的所有記錄更新爲UTC。在UPDATE查詢中是否有推薦的方法?我已經看了Oracle方法to_date(),它將字符串轉換爲日期,from_tz()將time轉換爲timezone。更新Oracle表記錄時區值
看來我需要一種方法來運行查詢並從字段中拉出時區,然後以某種方式更新該字段以將其放入UTC。我不想簡單地改變時區稱號,我想彌補一天的時間,所以
21-JAN-10 03.28.38.713000000 PM -05:00
將成爲
21-JAN-10 08.28.38.713000000 PM UTC
。
CREATE TABLE "MyDb"."Books"
(
"GUID" RAW(32) DEFAULT SYS_GUID(),
"DATE_CREATED" TIMESTAMP (6) WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
);
由於我是使用該表的開發人員,我完全同意你的看法。 「書籍」僅僅是一個例子。一如既往,我們非常感謝您的Oracle專業知識。簡單的查詢 - 效果很好。 – 2012-02-13 18:55:40
是否有可能有選擇地進行更新,只更新不在UTC的日期?有一些觸發器在更新行時觸發,我想盡量減少不必要的行更新。 – 2012-02-13 19:07:03
我相信我可以在WHERE子句中使用to_char(DATE_CREATED,'TZH')。 – 2012-02-13 19:22:51