2015-02-11 62 views
1

我曾在Oracle 11g中是插入一條記錄表如下存儲過程:間歇甲骨文SYSDATE插入爲UTC時間

INSERT INTO X_ZAV_XML_RESULTS COLUMNS 
    (BACKGRND_SVR, RECORD_IN_DATE, 
    SITE_ACCESSION_KEY, XML_MESAGE_CONTENT, RECORD_OUT_DATE) VALUES 
    (vClientName, SYSDATE, vTestNumber, XMLResults, SYSDATE); 

間歇,我們已經注意到,在一些記載,RECORD_OUT_DATE設爲UTC時間。此過程在多臺服務器上運行,並且我們在所有服務器上都看到了問題。我可能會錯過什麼?

對不起,這是我在這個問題上的所有信息。我對服務器上可能導致此問題的設置不是很熟悉。

任何見解將不勝感激!

+0

請顯示數據示例。 SYSDATE是服務器操作系統上的時間。你如何查詢結果以確定是否存在問題? – OldProgrammer 2015-02-11 22:19:04

回答

0

也許鑄造你的日期到特定的時區解決你的問題。試試像這樣(檢查我使用的是GMT,但可以使用另一種):

INSERT INTO X_ZAV_XML_RESULTS COLUMNS 
    (BACKGRND_SVR, RECORD_IN_DATE, 
    SITE_ACCESSION_KEY, XML_MESAGE_CONTENT, RECORD_OUT_DATE) VALUES 
    (vClientName, cast(sysdate as timestamp) at time zone 'GMT', 
    vTestNumber, XMLResults, cast(sysdate as timestamp) at time zone 'GMT');