2013-01-04 86 views
1

我有10年的小時價格數據。意思是,每天24個價格。數據庫日期時間值衝突

問題是,價格是從前一個小時的交易。因此,我的數據來源每天都列出了24小時,並且沒有0小時。

Example (for further clarity): 
    The records for a day start at: 07/20/2010 01:00:00 
    The records for a day end at: 07/20/2010 24:00:00 

這與我的Rails應用程序PostgreSQL DB想要保存日期時間值的方式衝突。當我將這些數據從CSV導入我的數據庫並將日期保存到DateTime列中時,它將所有24:00:00更改爲第二天的00:00:00。這拋出了我各種最終用途的準確性。

是否有無論如何我可以修改我的Postgres DB的行爲不這樣做?還有其他建議嗎?

+0

你可以顯示進行導入的代碼嗎? – hafichuk

+0

正在通過名爲Navicat for PostgreSQL的PostgreSQL GUI導入CSV文件。 CSV記錄在01:00:00到24:00:00結束。我可以編寫自己的導入代碼來解決這個問題嗎? – ac360

+0

開始導入時數據庫是否爲空,或者您是否至少有一個可以從中進行一些後期處理的開始時間? – hafichuk

回答

0

執行導入後,您總是可以減去一小時。

我不知道你的數據庫模式,所以要以通用的方式做到這一點,你必須在每個有日期的列上執行這個SQL。

UPDATE table SET date_field = date_field - INTERVAL '1 hour'