我正在尝试运行以下查询以获取偶数块中的id计数。
SELECT Y.ID
FROM (SELECT X.ID, ROW_NUMBER() OVER (ORDER BY X.ID) AS ROW_NBR
FROM myTable X
) AS Y
WHERE MOD(Y.ROW_NBR, :chunkSize) = 0;
查询在H2中工作,或者当参数被数字替换时,但在DB2中我得到-171错误。
public List<Integer> getIdRangesWithChunkSize(int chunkSize) {
MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("chunkSize", chunkSize);
//RowMapper< Integer > mapper = RowMapper.newInstance( Integer.class );
return namedParameterJdbcTemplate.query(queryWithChunkSize, parameters, new RowMapper<Integer>() {
public Integer mapRow(ResultSet rs, int rowNum)
throws SQLException {
return rs.getInt(1);
}
});
}
欢迎任何意见。
编辑:问题应该是Java不可知的。我将查询复制到DBVisualizer(它提示输入参数值)并得到相同的错误。