ora-01847:月份中日的值必须介于 1 和当月最后一日之间

今天解决了一个奇葩问题: ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间

将数据从一个视图倒入到一个同结构的表中,但是老报错,也就那么几个字段,肉眼真看不出来什么问题,但是既然报这个错,肯定和日期类型有关

就发现了一个字段可能影响,那个字段是timestamp 类型,奇怪的是两条相同的记录,字段都是空,为什么一个报错一个不报错呢。后来断定肯定是 null 和 ‘’ 的问题。

还有一个原因是 我在insert into 表 的时候 对timestamp 类型的字段 映射错了、导致一直报错。

 我一直以为是这个函数的转换类型错误 TO_TIMESTAMP_TZ(CREATEDTIME,'yyyy-mm-dd hh24:mi:ss')

总结一下:

    其实我们在报错时候、先要分析报错的原因在哪、有可能是本身有错、但有可能是其他的地方引起的、要发散自己思维!共勉

posted on 2019-04-22 23:00  天之痕羽翼  阅读(9383)  评论(0编辑  收藏  举报