Oracle中如何给日期时间字符串末尾添加三个零?
问题解决方案
报错原因
你的列数据类型应该是DATE而非TIMESTAMP:DATE类型仅存储到秒级,没有小数秒(毫秒)信息,因此to_char中的FF3格式符对DATE类型不适用,才会触发“Date format not recognized”错误。
实现方法(无需硬编码)
将DATE类型转换为支持小数秒的TIMESTAMP类型后,再使用FF3格式符格式化即可自动补全三位毫秒零:
to_char(CAST(your_column AS TIMESTAMP), 'YYYY/MM/DD HH24:MI:SS.FF3')
执行后会直接输出2020/08/05 05:34:05.000,完全不需要手动拼接.000。
补充说明
如果你的列本身就是TIMESTAMP类型仍报错,需检查数据库语法差异(Oracle、PostgreSQL等主流库均支持FF3格式符,但部分小众库可能有不同的格式标识)。
内容的提问来源于stack exchange,提问作者Goutham mano
相关产品推荐
相关产品推荐

