我有一個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. Oracle SQL Developer和PostgreSQL
- 4. Jetbrains Pycharm SQL vs Oracle SQL Developer
- 5. 如果否則在Oracle sql developer
- 6. 在oracle中導入觸發器sql developer
- 7. 腳本變量在Oracle SQL Developer中
- 8. 如何在SQL Developer中
- 9. ORACLE PL/SQL:在Oracle SQL Developer中測試SELECT FOR UPDATE
- 10. Oracle SQL Developer連接存儲
- 11. Oracle SQL Developer「ORA-01722:invalid number」
- 12. 的Oracle SQL Developer從包
- 13. 多窗口Oracle SQL Developer
- 14. Oracle SQL Developer - 幫助調試
- 15. 如何在Oracle 11g中使用SQL Developer進行刪除級聯?
- 16. 如何在Oracle的其他程序中調用程序,Sql Developer?
- 17. 如何在oracle中導入.dmp文件sql developer
- 18. 如何在Oracle SQL Developer中使用變量?
- 19. 如何在SQL Developer中運行以下Oracle exec語句?
- 20. 如何在Oracle SQL Developer中編輯BLOB(包含JSON)?
- 21. 如何在Oracle SQL Developer中查看refcursor結果/輸出?
- 22. 的Oracle SQL Developer和Oracle 9i版本
- 23. 如何更改Oracle SQL Developer/Oracle Data Modeler的時區?
- 24. Oracle SQL Developer - java.library.path中沒有ocijdbc12
- 25. ORACLE SQL DEVELOPER中的空間分析
- 26. Oracle SQL Developer SQL選項卡爲空
- 27. Oracle SQL Developer與SQL Server Management Studio
- 28. Microsoft SQL Server與Mac上的Oracle SQL Developer
- 29. 如何在Oracle SQL Developer上顯示第二個表格?
- 30. 如何查看Oracle SQL Developer中的blob數據
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