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

Oracle SQL - Importing Dates from CSV (Excel Format)

抱歉这个菜鸟问题(我正在尝试使用某些数据库练习 SQL),但是我如何将以下 Excel 日期格式转换为 MM-DD -YYYY?

原来的 Excel 列是美国格式 'MM-DD-YYYY' 并且它作为 VARCHAR2:

进入 SQL

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

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

并得到错误 '01843.0000 - 不是有效的月份'

我也试过在转换为数字后添加 41293,但得到了同样的错误。

你有更好的办法格式化它而不是更改原始 csv 文件吗?

尝试删除 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;

请:检查 returns 日期是否正确。

祝你好运