Java queryForRowSet不';t返回可选日期参数中为null的结果
我向几个Oracle SQL/Code添加了可选的日期参数,这些参数除了与Java queryForRowSet不';t返回可选日期参数中为null的结果,java,oracle,jdbctemplate,optional-parameters,Java,Oracle,Jdbctemplate,Optional Parameters,我向几个Oracle SQL/Code添加了可选的日期参数,这些参数除了与queryForRowSet 带有可选日期的My SQL: SELECT * from I where I.MYDATE <= nvl(?, I.MYDATE) Object[] param= new Object[] {null}; SqlRowSet result = jdbcTemplate.queryForRowSet(QUERY, param); 如果我删除参数SQL return results,但
queryForRowSet
带有可选日期的My SQL:
SELECT * from I where I.MYDATE <= nvl(?, I.MYDATE)
Object[] param= new Object[] {null};
SqlRowSet result = jdbcTemplate.queryForRowSet(QUERY, param);
如果我删除参数SQL return results,但使用null时它不会返回结果,则需要提供有关null类型的信息:
Object[] param = { null };
int[] paramType = { java.sql.Types.DATE };
SqlRowSet result = jdbcTemplate.queryForRowSet(QUERY, param, paramType);
或者,当以这种方式显式指定参数类型时,它应该工作(因为查询只有一个参数):
所以它转换为其他类型而不是日期?它只是无法确定查询中需要哪种sql类型。
java.sql.Date[] param = { null };
SqlRowSet result = jdbcTemplate.queryForRowSet(QUERY, param);