Oracle SQL-从CSV导入日期(Excel格式)

时间:2018-10-23 23:23:03

标签: oracle-sqldeveloper to-date

很抱歉出现noob问题(我正在尝试对某些数据库使用SQL),但是如何将以下Excel日期格式转换为 MM-DD-YYYY

原始的Excel列为美国格式'MM-DD-YYYY',它以VARCHAR2的形式进入SQL:

enter image description here

据我所知,我需要将其转换为数字,然后使用'TO_DATE()'函数(只需测试前50行):

     SELECT TO_DATE(TO_NUMBER(DATE1), 'MM-DD-YYYY')  FROM (
         SELECT * FROM CHEMICALS2 FETCH FIRST 50 ROWS ONLY
     )

并收到错误'01843.0000-无效月份'

enter image description here

在转换为数字后,我还尝试添加41293,但出现相同的错误。

您是否有一个更好的格式设置而不是更改原始csv文件?

1 个答案:

答案 0 :(得分:1)

尝试删除TO_NUMBER函数。

一个例子,

SELECT TO_DATE(DATE1, 'MM-DD-YYYY')  FROM (
    SELECT '10-18-2018' as date1 from dual
);

-更新 -重要说明:37894是excel单元格中的数字

select (to_date('01011900','DDMMYYYY')-2)+37894 from dual;

请:检查返回的日期是否正确。

祝你好运