SQL 的 NULL 难题:理解 = NULL
与 IS NULL
在 SQL 中使用 NULL 值通常会出现意外的行为。 正确识别NULL的关键在于理解WHERE x = NULL
和WHERE x IS NULL
.
WHERE x IS NULL
直接检查 x
的值是否显式为 NULL。 请务必注意,这不包括零或空字符串,它们是 SQL 中的不同值。
相反,WHERE x = NULL
尝试将 x
与 NULL 进行比较。此比较始终导致 NULL,因为 SQL 将任何涉及 NULL 值的比较视为 NULL,其在 WHERE
子句中的计算结果为 false。
因此,要有效地定位包含 NULL 值的行,WHERE x IS NULL
是正确的方法。由于 SQL 对 NULL 比较的独特处理,WHERE x = NULL
将始终返回空结果集。使用正确的语法可以确保处理 NULL 数据时准确的查询结果。
以上是为什么'WHERE x = NULL”无法在 SQL 中查找 NULL 值?的详细内容。更多信息请关注PHP中文网其他相关文章!