gpt4 book ai didi

sql-server - T SQL 检查 null 语法困惑

转载 作者:行者123 更新时间:2023-12-02 19:19:00 24 4
gpt4 key购买 nike

我继续将 SQL Server 中值为 null 的 select 语句编写为

SELECT * 
FROM TABLE_1
WHERE VALUE = NULL

这是不正确的

而不是

SELECT * 
FROM TABLE_1
WHERE VALUE IS NULL

为什么当值为空时使用IS来检查值,而当值为整数或字符串时使用=

最佳答案

原因是NULL不是值(value),而是缺乏值(value)。 ANSI 标准规定检查 NULL = NULLNULL <> NULL两者都不会返回 true,而是 NULL。将 NULL 视为“未知值”。如果你比较3=3 ,它会返回 true,但如果你比较 is some number, that I do not know, equal to some other number, which I do not know either ,明显的结果是 I do not know are they equal .

您可能想看看 ANSI_NULLS也是选项。

关于sql-server - T SQL 检查 null 语法困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53578629/

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