gpt4 book ai didi

JavaPreparedStatement设置NULL参数

转载 作者:行者123 更新时间:2023-11-30 01:50:43 24 4
gpt4 key购买 nike

JavaPreparedStatement 允许您为给定参数设置一个值或将其设置为 NULL

SELECT *
FROM ADDRESS
WHERE ADDRESS_LINE1 = ?

所以我们可以编写代码来设置这个参数:

 if (addressLine1 != null) {
preparedStatement.setString(1, addressLine1);
} else {
preparedStatement.setNull(1, VARCHAR);
}

但是,它还声明您永远不应该使用 = 运算符将值与 null 进行比较,而实际上使用 IS 运算符进行 null 比较。

准备好的语句实际上是在幕后将 = 运算符替换为 IS,还是仍然使用 = 运算符插入 null?如果是后者,那么什么时候使用它有用?您是否真的得到了预期的结果?

我是在以下堆栈溢出问题的后面问这个

SQL is null and = null

最佳答案

不,准备好的语句不会将 = 替换为 IS。您的代码对此负责。就像您负责使用 something = NULL 而不是 something IS NULL 进行查询一样。

能够将事物设置为 null 的目的是用于更新或插入语句,或者在您正确使用 isis 不同于.

它也用于空条件检查,例如 where ?为 null 或某些 = ?

String something = "xyz"; // or String something = null;
statement.setString(1, something);
statement.setString(2, something);

关于JavaPreparedStatement设置NULL参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56147967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com