У меня есть этот запрос, использующий Hibernate 4 и DB2, выполняющий собственный запрос:
select * from TABLE1 t where (:param1 is null or t.NAME = :param1)
Это вызывает исключение, что null недопустим в контексте (поскольку SQL становится select * from TABLE1 t, где (null is null или t.NAME = null))
Итак, я попытался:
select * from TABLE1 t where (COALESCE(:param1,'!') = '!' or t.NAME = :param1)
Это выдает исключение, когда я передаю значение "JUSTIN" -
"THE VALUE OF INPUT VARIABLE OR PARAMETER NUMBER IS INVALID OR TOO LARGE FOR THE TARGET COLUMN OR THE TARGET VALUE"
По-видимому, это связано с тем, что DB2 проверяет длину ": param1" по сравнению с "!".
Есть ли в DB2 способ передать параметры Dynami c?
Я начинаю ненавидеть DB2 ....