OJDBC 14隐含日期转换?

时间:2013-09-16 14:58:50

标签: java sql date jdbc ojdbc

我们正在使用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位

最好的问候。

1 个答案:

答案 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 ....;