我有一个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