Заявление
SELECT * FROM tableA WHERE x = ?
и параметр вставляется через java.sql.PreparedStatement 'stmt'
stmt.setString(1, y); // y may be null
Если y
имеет значение null, оператор не возвращает строк в каждом случае, потому что x = null
всегда ложно (должно быть x IS NULL
). Одно решение было бы
SELECT * FROM tableA WHERE x = ? OR (x IS NULL AND ? IS NULL)
Но тогда мне нужно установить один и тот же параметр дважды. Есть ли лучшее решение?
Спасибо!
= NULL
наIs Null
в строке SQL. Работает как шарм. - person Erick Robertson   schedule 18.11.2010