select * from tbl_prd_suplr t where t.reg_dat > to_date('20120203', 'yyyy-mm-dd')这句SQL语句的where条件明显是错误的,
因为“20120203”并不符合“yyyy-mm-dd”的格式,
但是to_date函数竟然不报错,能够正常执行,而且执行结果还是对的!我还试过to_date('20120203', 'yyyy/mm/dd'),也能正常执行,
但是to_date('2012-02-03', 'yyyy/mm/dd')就会出错。这是怎么一回事?to_date函数这么智能了?我Out了?我用的是Oracle 11g
因为“20120203”并不符合“yyyy-mm-dd”的格式,
但是to_date函数竟然不报错,能够正常执行,而且执行结果还是对的!我还试过to_date('20120203', 'yyyy/mm/dd'),也能正常执行,
但是to_date('2012-02-03', 'yyyy/mm/dd')就会出错。这是怎么一回事?to_date函数这么智能了?我Out了?我用的是Oracle 11g
select to_date('20120203', 'yyyy-mm-dd') from dual;但如果用:to_date('2012-02-03', 'yyyy/mm/dd')
数据库则会判断 -与/格式不一致。
这下应该没问题了吧