【发布时间】:2017-01-28 16:57:13
【问题描述】:
我从 csv 文件中读取了一个复杂的日期字符串。 Oracle 的 TO_DATE 函数无法处理该格式。寻找一种有效的方法来分解此字符串并返回一个日期对象,以插入到 DATE 列中。将 TO_DATE 与“DD-MON-YY HH.MI.SS AM”一起使用的建议选项不起作用。这种变化不会破坏这个特定的字符串。因此需要自定义功能。我也尝试过同样不起作用的“HH.MI.SS.SSSSS AM”格式。我发现如果我放弃小数秒,它会起作用。如果我运行正则表达式来删除该部分,它应该会按预期进行转换。
字符串格式为:21-OCT-04 01.03.23.966000 PM
我最初的想法是先按空格分解,产生三个子字符串。 然后将第一个子字符串用 - 打断,第二个用 . 打断,并将生成的片段直接加载到 DATE 对象中。
我可以使用更好的方法吗?
谢谢你,艾伦
【问题讨论】:
-
所以您不需要保留时间戳的
.96000部分?如果是这样,请编辑您的 Q 以表明这一点。祝你好运。 -
如何使用 regexp_replace 删除“.966000”部分,然后对其余部分应用转换?