我正在使用 JPA 1 并有一个执行以下语句的本机查询:
select NVL (max (x.some), 0) from (select count (1) as some, service from some_table Where trunc (fh_report) = '09 / 01/2015 'group by service) x
标记错误是:
java.sql.SQLDataException: ORA-01843: 不是一个有效的月份
但是,如果我在 ORACLE ide 中复制这句话,它运行得很好,我有两个数据库,一个用于测试,一个用于生产,生产标记了这个错误,而在测试中没有。
我也想知道,什么比较好??将日期包含在字符串中,然后像这样将其传递给 jpa?
String sql = "select NVL (max (x.some), 0) from (select count (1) as some, service from some_table Where trunc (fh_report) = '09 / 01/2015 'group by service) x ";
Query query = em.createNativeQuery(sql.toString());
或将日期值作为参数传递?
这可能是错误的原因?
非常感谢。