我们正在使用ojdbc14_10.1.0.2.jar和Java / J2EE应用程序(直接使用JDBC)和JDK5,但是当我们尝试迁移到ojdbc5-11.2.0.3.jar时,我们遇到了与某些sql相关的问题请求(jdbc)不再起作用。
伪SQL请求是:
select *
from quotas q
where q.datdeb<='2013-09-05' and q.datfin>='2013-09-05'
and q.datdeb is not null and q.datfin is not null order by ....;
日期的NLS参数是: DD / MM / RR
与请求中作为参数提供的日期格式不兼容。
当我们使用ojdbc14时,一切正常;显然它对日期做了一个隐含的转换。
有关信息,oracle数据库是11g版本11.2.0.3.0 - 64位
最好的问候。
答案 0 :(得分:0)
我相信你只需要使用带有适当日期掩码的to_date函数来解决问题。
select *
from quotas q
where q.datdeb<=to_date('2013-09-05','yyyy-mm-dd') and q.datfin>=to_date('2013-09-05', 'yyyy-mm-dd')
and q.datdeb is not null and q.datfin is not null order by ....;