Tag: prepared语句

如何处理(也许)PreparedStatement中的空值?

声明是 SELECT * FROM tableA WHERE x = ? 并通过java.sql.PreparedStatement'stmt'插入参数 stmt.setString(1, y); // y may be null 如果y为null,则语句在每种情况下都不返回行,因为x = null始终为false(应为x IS NULL )。 一个解决scheme是 SELECT * FROM tableA WHERE x = ? OR (x IS NULL AND ? IS NULL) 但是,然后我必须设置相同的参数两次。 有更好的解决scheme吗? 谢谢!