У меня есть следующий запрос, который хорошо работает при работе непосредственно с DB2:
String sql =
"select slutt_dato + 1 day as tDato from klv80201 " +
"union " +
"select fra_dato as tDato from klv12101 where avtalenr = :avtalenr and kundenr = :kundenr " +
"union " +
"select fra_dato as tDato from klv12401 where avtalenr = :avtalenr and kundenr = :kundenr and MEDLEMSTATU < '32' " +
"order by tDato desc fetch first 1 rows only;";
Но когда я запускаю его через тест с H2 в качестве базы данных со следующей конфигурацией:
jdbc:h2:mem:play;MODE=DB2;LOCK_TIMEOUT=10000;LOCK_MODE=0
Я получаю следующее сообщение об ошибке:
org.h2.jdbc.JdbcSQLException: столбец "SLUTT_DATO" не найден;Оператор SQL: выберите slutt_dato + 1 день в качестве tDato из klv80201 union Выберите fra_dato в качестве tDato из klv12101 где avtalenr =?а кунденр =?union выберите fra_dato как tDato из klv12401, где avtalenr =?а кунденр =?и MEDLEMSTATU <'32' - порядок по tDato для извлечения только первых 1 строк;[42122-149] </p>
Если я уберу "+1 день", запрос прекрасно работает во второй половине дня.Сообщение об ошибке от драйвера JDBC H2 неверно, столбец «SLUTT_DATO» существует и работает хорошо при удалении «+1 день».
Есть ли хорошие предложения, почему H2 действует так же, как и он?Это ошибка или я что-то неправильно понимаю?
Заранее спасибо