绝大多数关系数据库都通过一种称为 Null 特殊占位符支持 未知 或 不可知 的概念,Null 是缺失信息的占位符,本身不是值。Null 表示该位置没有值:Null 不是什么其他值,Null 不是真,也不是假,不是零,也不是空字符串。简单地理解,Null 就是自己:Null。可能一些人不明白其中的含义。掌握 SQLite 中的 Null,需要了解一些关键规则和观点。
- 第一:为了在逻辑表达式中使用 NULL,SQLite 使用所谓的三值(或三态)逻辑,Null 是真假值之一。下面的表格显示了逻辑与(And)和逻辑或(Or)与 Null 的关系。
X | Y | X AND Y | X OR Y |
---|---|---|---|
True | True | True | True |
True | False | False | True |
True | NULL | NULL | True |
False | False | False | False |
False | NULL | False | NULL |
NULL | NULL | NULL | NULL |