如何在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)。一种解决方案是
SELECT * FROM tableA WHERE x = ? OR (x IS NULL AND ? IS NULL)但是然后我必须两次设置相同的参数。有更好的解决方案吗?
谢谢!
回答:
我一直按照您在问题中所表现的方式来做。两次设置相同的参数不是很大的困难,不是吗?
SELECT * FROM tableA WHERE x = ? OR (x IS NULL AND ? IS NULL);以上是 如何在PreparedStatement中处理(也许)空值? 的全部内容, 来源链接: utcz.com/qa/398177.html

