sql server空值处理
空值就是“不知道”或“不存在”或“无意义”
一般有以下几种情况:
-
该属性应该有一个值,但目前不知道它的具体值。
-
该属性不应该有值
-
由于某种原因不便于填写
判断一个属性的值是否为空值,用IS NULL和IS NOT NULL来判断
属性定义(或者域定义)中:
- 主码不能为空
- 有NOT NULL约束条件的不能取空值
- 加了UNIQUE限制的属性不能取空值
空值的算术运算:
空值与另一个值(包括另一个空值)的算术运算的结果为空值。
空值的比较运算:
空值与另一个值(包括另一个空值)的比较运算的结果为UNKNOWN。
空值的逻辑运算:
怎样去记这个真值表呢?
-
1、我自己的总结:逻辑运算符的优先级:
TRUE-> UNKNOWN -> FALSE。
-
2、AND的特点,x AND y 的结果就是两者中优先级比较小的那个数。
-
3、OR的特点,x AND y 的结果就是两者中优先级比较大的那个数。
-
4、NOT的特点,TRUE和FALSE相反;NOT UNKNOWN = UNKNOWN