今天在公司要修改一个BUG,问题很简单,从小的说是一个字母的错误,在大点是一个方法的错误,再大就是整个项目的数据错误,原因就是一个to_date函数,大家都知道,在java中,可以这样写:
select to_char(sysdate,'yyyy-mm-dd hh24:mm:ss') from dual;
但是在oracle数据库中,这个mm是取不到当前的分钟数的,他取的是当前月份!!!
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
这行仅仅只有一个字母区别的代码,出来的数据有如下的巨大 区别
//mm
2011-09-23 09:09:48
//mi
2011-09-23 09:37:02
由于这个错误显示的结果极难发现,因为从数据上,几乎看不错差异,但是如果关系到账务的项目,这是一个致命的错误,大家千万要注意!好吧,一个一个类得搜索,这个BUG的修改是一个痛苦的过程。。。