Null"之间的区别?-6ren"> Null"之间的区别?-这个问题在这里已经有了答案: Not equal <> != operator on NULL (11 个回答) 6年前关闭。 你能帮我吗,我需要了解两者之间的区别 select * from tab-6ren">
gpt4 book ai didi

sql - SQL Server 中 "is not null"和 "<> Null"之间的区别?

转载 作者:行者123 更新时间:2023-12-03 16:16:15 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Not equal <> != operator on NULL

(11 个回答)


6年前关闭。




你能帮我吗,我需要了解两者之间的区别

select * from table where field <> NULL;


select * from table where field is not NULL;

看看
SELECT COUNT(*) where (1 = null) -- return 0
SELECT COUNT(*) where (1 <> null) -- return 0
SELECT COUNT(*) where (1 is not null) -- return 1
SELECT COUNT(*) where (null = null) -- return 0
SELECT COUNT(*) where (null <> null) -- return 0
SELECT COUNT(*) where (null is null) -- return 1
SELECT COUNT(*) where (null is not null) -- return 0

为什么是 null = null错误的?

提前致谢

最佳答案

1) 关于差异 IS NULL vs = NULL 的第一个问题:

比较运算符,例如 ( =, <>, <, >, ... ) 与 NULL始终生产NULL .
使用 IS NULL/IS NOT NULL反而。

2)第二个问题“为什么(null = null)是假的”:

来自 SQL and the Snare of Three-Valued Logic :

One kind of NULL marks values which are:

missing because the value is unknown

and the other kind marks values that are missing because the attribute is missing.



当您尝试比较时 NULL你实际上做了类似的事情
UNKNOWN = UNKNOWN

这当然是未知的。

关于sql - SQL Server 中 "is not null"和 "<> Null"之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32981899/

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