首页 > 解决方案 > SQL查询错误:日期格式图片在将整个输入转换为字符串之前结束

问题描述

运行以下查询时出现错误:

 to_date('30-APR-19 09.53.35.000000 AM', 'DD-Mon-yy hh24.mi.ss')

日期格式图片在将整个输入转换为字符串之前结束

请问我可以得到帮助吗

标签: sqloracledatetimeto-date

解决方案


您遇到的主要问题是您的日期和时间字符串无法使用 TO_DATE 解析 - 您需要使用 TO_TIMESTAMP。问题是 TO_DATE 无法识别FFn用于处理小数秒的格式说明符。这是有道理的,因为 DATE 值仅精确到秒。所以你需要使用

TO_TIMESTAMP('30-APR-19 09.53.35.000000 AM', 'DD-MON-YY HH.MI.SS.FF6 AM')

这将返回一个 TIMESTAMP 值。如果您确实需要将其作为 DATE 而不是 TIMESTAMP,则可以使用将值转换为 DATE

CAST(TO_TIMESTAMP('30-APR-19 09.53.35.000000 AM', 'DD-MON-YY HH.MI.SS.FF6 AM') AS DATE)

dbfiddle在这里


推荐阅读