首页 > 数据库 > SQL Server > 数据库系统 空值 null
null表示未知值或值不存在
涉及空的任何算术表达式的结果为空
聚集函数会忽略空值
可以返回空值作为结果
我们遵循SQL对空值的处理语义
为了消除重复和分组,空值和其他值同等对待
一种方法是两个空值被认为是相同的
另一种方法是假设每个空值都是不同的
这两种方法都可行,但我们更愿意遵循SQL对空值的处理语义
与空值的比较将返回一个特殊值:unknown
如果用false代替unknown,那么not(A<5)与 A>=5 的结果就会不相
等
使用特殊值unknown的三值逻辑:
OR: (unknown or true) = true (unknown or false = unknown (unknown or unknown) = unknown
AND: (true and unknown) = unknown (false and unknown) = false
(unknown and unknown) = unknown
NOT: (not unknown) = unknown
在SQL中,如果谓词P的值为unknown,那么“P is unknown”的值为 真
如果选择谓词的值为unknown,那么选择谓词的结果被认为false
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69990899/viewspace-2743217/ ,如需转载,请注明出处,否则将追究法律责任。