我继续编写select语句,其中value在SQL server中为null
SELECT *
FROM TABLE_1
WHERE VALUE = NULL
Run Code Online (Sandbox Code Playgroud)
哪个不对
而不是
SELECT *
FROM TABLE_1
WHERE VALUE IS NULL
Run Code Online (Sandbox Code Playgroud)
IS用于在值为null时检查该值但是=在值为整数或字符串时使用的原因是什么?
And*_*lov 10
原因是这NULL不是价值,而是缺乏价值.ANSI标准声明检查NULL = NULL并且NULL <> 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选项.