我有一個excel格式的數據集需要被導入到表中的數字轉換爲日期,一列是一個日期,但數據存儲在數字格式,如41275,導入時數據,我試圖選擇數據格式爲yyyy-mm-dd,它給出了一個錯誤:不是一個有效的月份,也嘗試過MM/DD/YYYY也錯誤:一個月中的一天必須在1月和最後一天之間。沒有人知道這個數字是什麼,當我將數據導入數據庫時,我怎樣才能將它轉換成日期格式?謝謝!如何在Oracle SQL Developer中
回答
你得到的數字是在特定日期的Excel中表示...
Excel存儲日期的天數,從在特定日期來算......準確地說:
1 = 1-JAN-1900
2 = 2-JAN-1900
...
30 = 30-JAN-1900
所以,讓你的Excel數到Oracle日期,你可能想嘗試像這樣...
to_date('1899-12-31','yyyy-mm-dd') + 41275
當心Excel的1900年 - 年度錯誤;-) http://support2.microsoft.com/kb/214326/en-us – 2014-10-06 08:01:58
請注意Oracle中不存在的'date_add'函數和''interval'文字的錯誤拼寫。 ;-) – nop77svk 2014-10-06 08:04:43
@ nop77svk好,據我可以看到,DATE_ADD與Oracle沒有問題......至少數天,把它歸結爲「+」 – DarkSquirrel42 2014-10-06 08:08:58
表達(關於Excel的閏年蟲AmmoQ提到),你要找的是:
case
when yourNumberToBeImported <= 59 then date'1899-12-31' + yourNumberToBeImported
else date'1899-12-30' + yourNumberToBeImported
end
然後,您既可以
- 創建(國際)在Oracle數據庫中創建臨時表,將數據從Excel加載到表中,然後將數據從臨時表中重新加載到包含上述計算的目標表中。
,或者你可以
- 加載從Excel中一個持久表在Oracle數據庫中的數據,並創建了持久表,該表將包含上述計算的視圖。
- 1. 從Oracle SQL Developer中
- 2. 從在Oracle SQL Developer中
- 3. HelpBar Oracle SQL Developer
- 4. Oracle Apex與Oracle SQL Developer
- 5. ORACLE SQL Developer(查詢)
- 6. Oracle SQL Developer和PostgreSQL
- 7. Jetbrains Pycharm SQL vs Oracle SQL Developer
- 8. Oracle SQL Developer - 如何生成ER圖
- 9. 如果否則在Oracle sql developer
- 10. 在Oracle SQL Developer中加入表格
- 11. 在SQL Developer中比較Oracle數據庫
- 12. 在Oracle SQL Developer中解析查詢
- 13. 在oracle中導入觸發器sql developer
- 14. 在oracle中生成插入SQL Developer
- 15. 在Oracle Sql Developer中導入表
- 16. 在Oracle SQL Developer中顯示DB2表格
- 17. 腳本變量在Oracle SQL Developer中
- 18. Oracle SQL Developer中的SQL查詢
- 19. Oracle SQL Developer中的SQL Server表
- 20. 如何在SQL Developer中
- 21. ORACLE PL/SQL:在Oracle SQL Developer中測試SELECT FOR UPDATE
- 22. 多窗口Oracle SQL Developer
- 23. Oracle SQL Developer連接存儲
- 24. 的Oracle SQL Developer連接
- 25. Oracle SQL Developer 0913 - 值太多
- 26. Oracle SQL Developer「ORA-01722:invalid number」
- 27. 的Oracle SQL Developer從包
- 28. Oracle SQL Developer - 幫助調試
- 29. 如何在Oracle SQL Developer中使用變量?
- 30. 如何在Oracle SQL Developer中執行存儲過程
excel給你的是自1900年1月1日以來的天數... – DarkSquirrel42 2014-10-06 07:43:03
@ DarkSquirrel42我不明白,如何將數字轉換爲日期格式?這個數字是指某個日期嗎? – user2810081 2014-10-06 07:49:01
我認爲將單元格類型更改爲文本的最佳方式可能是使用其他列'= text(Date_col,'yyyy.mm.dd')'來導出csv。現在你有一個delimetered csv,其中的日期是yyyy.mm.dd,現在你可以很容易地導入沒有錯誤。或者,如果您熟悉java,請使用excel api編寫簡單的代碼,讀取所有行並使用jdbc插入。 (我使用這個,如果我導入鉅額金額,需要獲得日期,如果少量我只是簡單的文本單元格和導入沒有問題) – Csanesz 2014-10-06 11:01:28