很抱歉出现noob问题(我正在尝试对某些数据库使用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文件?
答案 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;
请:检查返回的日期是否正确。
祝你好运