我有一个excel格式数据集,需要导入到表中,一列是日期,但数据以数字格式存储,如41275,导入数据时,我试图选择数据格式yyyy-mm -dd,它给出一个错误:不是有效的月份,也尝试了MM / DD / YYYY也是错误:月份的日期必须介于1和月的最后一天之间。有没有人知道这个号码是什么?如何将它导入数据库时将其转换为日期格式?谢谢!
答案 0 :(得分:2)
您正在寻找的表达方式(关于Excel的闰年错误AmmoQ提及)是:
case
when yourNumberToBeImported <= 59 then date'1899-12-31' + yourNumberToBeImported
else date'1899-12-30' + yourNumberToBeImported
end
然后,您可以
或者你可以
答案 1 :(得分:0)
你得到的数字是特定日期的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