sql server空值处理

空值就是“不知道”或“不存在”或“无意义”
一般有以下几种情况:

  • 该属性应该有一个值,但目前不知道它的具体值。

  • 该属性不应该有值

  • 由于某种原因不便于填写

    判断一个属性的值是否为空值,用IS NULL和IS NOT NULL来判断

属性定义(或者域定义)中:

  • 主码不能为空
  • 有NOT NULL约束条件的不能取空值
  • 加了UNIQUE限制的属性不能取空值

空值的算术运算:
空值与另一个值(包括另一个空值)的算术运算的结果为空值。

空值的比较运算:
空值与另一个值(包括另一个空值)的比较运算的结果为UNKNOWN。

空值的逻辑运算:
sql server空值处理

怎样去记这个真值表呢?

  • 1、我自己的总结:逻辑运算符的优先级:TRUE-> UNKNOWN -> FALSE。

  • 2、AND的特点,x AND y 的结果就是两者中优先级比较小的那个数。

  • 3、OR的特点,x AND y 的结果就是两者中优先级比较大的那个数。

  • 4、NOT的特点,TRUE和FALSE相反;NOT UNKNOWN = UNKNOWN