小编典典

不等于<>!= NULL运算符

sql

有人可以解释一下SQL中的以下行为吗?

SELECT * FROM MyTable WHERE MyColumn != NULL (0 Results)
SELECT * FROM MyTable WHERE MyColumn <> NULL (0 Results)
SELECT * FROM MyTable WHERE MyColumn IS NOT NULL (568 Results)

阅读 192

收藏
2021-05-05

共1个答案

小编典典

<>是标准SQL-92;!=是等效的。两者都评估值,但NULL不是-NULL是占位符,表示不存在值。

这就是为什么您只能在此类情况下使用IS NULL/IS NOT NULL作为谓词的原因。

此行为不特定于SQL Server。所有符合标准的SQL方言都以相同的方式工作。

注意 :要比较如果您的 值不为null ,请使用IS NOT NULL,而要与 不为null 值进行比较,请使用<> 'YOUR_VALUE'。我不能说我的值是否等于NULL,但是我可以说我的值是NULL还是NOT NULL。如果我的值不是NULL,则可以进行比较。

2021-05-05