SQL NULL 值比较的悖论:区分 IS NULL 和 = NULL
在 SQL 领域,NULL 值的概念常常给开发者带来挑战。其中一个难题就是在使用 IS NULL 和 = NULL 运算符比较 NULL 值时。尽管它们看起来很相似,但它们的结果却大相径庭,让许多人感到困惑。
理解差异
何时使用每个运算符
鉴于它们不同的行为:
示例
考虑以下表格:
<code>| id | name | |---|---| | 1 | John | | 2 | NULL | | 3 | Mary |</code>
<code>SELECT * FROM table WHERE name = NULL;</code>
结果:不返回任何行,因为 = NULL 将 NULL 视为 false。
<code>SELECT * FROM table WHERE name IS NULL;</code>
结果:返回 id 为 2 的一行,正确识别了 NULL 值。
以上是SQL NULL 相等:何时使用 IS NULL 与 = NULL?的详细内容。更多信息请关注PHP中文网其他相关文章!