应用数据库中记录中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的网站。
本文探讨了Oracle数据库中出现的日期为0000-00-00的问题,并揭示其背后的原因。文中提到该问题是Oracle的一个已知Bug,并且详细介绍了在使用Java进行日期转换时可能遇到的相关陷阱。
1万+

被折叠的 条评论
为什么被折叠?



