IS NULL 和 =NULL 有什么区别吗

2022-01-31 00:00:00 sql sql-server-2005 sql-server

我很惊讶地看到 IS NULL 和 =NULL 在选择查询中产生了不同的结果.它们之间有什么区别?什么时候用什么.如果你能详细解释我,我会很高兴.

I am surprised to see that IS NULL and =NULL are yielding different results in a select query. What is difference between them? When to use what. I would be glad if you can explain me in detail.

推荐答案

= NULL 总是 unknown (这是一段 3 状态逻辑),但是 WHERE 子句将其视为 false 并从结果集中删除.所以对于 NULL 你应该使用 IS NULL

= NULL is always unknown (this is piece of 3 state logic), but WHERE clause treats it as false and drops from the result set. So for NULL you should use IS NULL

原因在这里描述:为什么NULL =NULL 在 SQL Server 中评估为 false

相关文章