iT邦幫忙

0

Mysql Datetime format 問題

迎日把舊的oracle 9I資料庫匯了csv檔案,
但是日期格式為18-1月 -02 12.17.37.000000000 下午(oracle export datetime format)
在mysql方面
mysql>SELECT FROM_UNIXTIME(1111885200);
匯入csv後;日期欄位0000-00-00 00:00:00
不知道哪裡出錯倒

10
wiseguy
iT邦超人 1 級 ‧ 2012-12-21 01:31:17
最佳解答

答案不就在你自己的題目裡?
你 O9 匯出的日期是區域格式《18-1月 -02 12.17.37.000000000 下午》,還帶中文。但 MySQL 認得的格式是 ISO-8601《0000-00-00 00:00:00》,所以餵給它當然認不得,當做無效日期,就是 0000-00-00 00:00:00 囉。

s00692 iT邦新手 5 級 ‧ 2012-12-21 22:16:10 檢舉

請問《18-1月 -02 12.17.37.000000000 下午》這個是什麼格式?暈
Mysql需要如何作出更改?

wiseguy iT邦超人 1 級 ‧ 2012-12-22 00:15:32 檢舉

看看 Oracle 是否有將 datetime 以 ISO-8601 格式輸出的設定否。

4
jasonchn
iT邦新手 5 級 ‧ 2012-12-21 22:56:24

不要用匯出匯入功能,我買 Full Convert 軟體,它可以 oracle to mysql 也可以 mysql to oracle,解決中文轉編碼問題,當然也可處理日期格式問題。

http://www.spectralcore.com/fullconvert/

s00692 iT邦新手 5 級 ‧ 2012-12-23 18:11:50 檢舉

公司不打算在這個項目出錢

4
summertw
iT邦好手 1 級 ‧ 2012-12-28 12:00:49

s00692提到:
csv檔案

它是個標準的文字檔,所以匯出時,應該要以標準的日期格式(yyyy.mm.dd HH:MM:SS),所以應該是你沒有處理好你的匯出程式的匯出格式才對..
建議你寫一支VBA或是Java程式,然後輸出一個標準的XDS轉換平台把XML置於其上,然後再匯給MySQL,這樣應該問題會較少...

我要發表回答

立即登入回答