应用数据库中记录中date列莫名其妙的出现了几个值为0000-00-00的数据。
更可怕的是如果将这样的记录进行读取成为varchar2后再to_date转换回去就会报错。
问题无从查起,只说一下最终同事搜索到的连接结果:http://www.hellodba.com/Doc/oracle_date_zero_bug.htm
看来的确是oracle的一个bug。
另外需要注意的是,在使用java.sql.Date的valueOf()方法的时候,也是不会进行任何检验的。直接将相应的值转换为Date,因此
如果执行了java.sql.Date.valueOf("0000-01-03");这样的方法,在插入到oracle中后就会变成0000-00-00的数据
哇哈哈,不错不错,继itpub之后又发现一个dba的网站。