Home > Oracle > 字符型日期字段惹的祸

字符型日期字段惹的祸

今天项目中定时任务报错,影响报表数据;日志表看到错误

ORA-01839: date not valid for month specified

起初怀疑是Oracle的bug;……省略一千字,最后发现是在表中掏出两条’2009-02-29′这样的字符型日期数据……

出于应用可以跨数据库的角度,表中日期型数据都使用varchar2存储,留下了隐患。

这是一个教训:日期型数据就要用日期类型字段存储,记得在tom的书中有类似的描述!
否则可能导致的后果:

  • 可能进入脏数据
  • 也可能导致CBO选择错误的执行计划
Categories: Oracle Tags:
  1. No comments yet.
  1. No trackbacks yet.