Ian*_*ton 2 sql-server t-sql
我有一个查询,当field1 <> 10.
field1 <> 10
当field1为空时,这个谓词是false!
field1
false
根据我的原始数学,如果null <> 10 = false,则10 = null。
null <> 10 = false
10 = null
这样做的理由是什么?
Wor*_*DBA 6
这是因为与NULL实际结果的比较是未知的。NULL是缺少数据,因此您将一个值与任何内容进行比较,结果无法确定。
NULL
当数据中存在空值时,逻辑和比较运算符可能会返回 UNKNOWN 的第三个结果,而不仅仅是 TRUE 或 FALSE。这种对三值逻辑的需求是许多应用程序错误的根源。这些表概述了引入空比较的影响。
取自MSDN 上的文档。
归档时间:
7 年 前
查看次数:
94 次
最近记录: