2016-03-11 53 views
0

您好,我在大型機上有一個db2數據庫,數據正在通過Web應用程序和電話語音電話IVR應用程序寫入。他們都位於美國中部時區。網絡應用程序正在被重寫並移至美國東部時間。插入記錄全部使用sysdate來記錄記錄時間戳,例如創建記錄或上次更新記錄時。由於db查詢是「select ...... order by create_time」或「select .... order by update_time」,因此不同的時區會導致訂單問題。DB2記錄具有來自多個時區的時間戳

我想要一種方式來顯示所有記錄在一個TZ(可能是東部)。

select some_time_util(*,easternTZ) from table where condition=easternTz order by some_time_util(create_date, easten_tz) 
union 
select some_time_util(*,centralTZ) from table where condition=centralTz order by some_time_util(create_date, centeral_tz) 

db2如何支持timestamsp和timezones的概念?

+0

不是DB2的所有版本處理不同的時區。請問哪個版本和平臺?爲記錄的操作存儲「絕對」UTC戳記通常也更好,並且只需在輸出上進行翻譯(如有必要)。請注意,在'ORDER BY'中使用的列上調用函數可能會忽略任何索引,但使用時間戳可能會足夠聰明以分攤此... –

回答

1
+0

%headdesk% - IBM未能合併時區和偏移量。這些都是**不是同一件事。你可以從區域偏移(...有一些注意事項),但不是另一種方式(因爲有多個區域具有相同的偏移量)。嘗試使用像這樣的時間戳有一個更大的問題:考慮夏令時出現時會發生什麼...... –