0

我们将 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 - 64bit

此致。

4

1 回答 1

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 ....;
于 2013-09-16T15:34:25.130 回答