SQL NULL 值
sql null 值
sql null 又叫空值,它代表未知数据。null 不同于空白或零值。
默认地,表的列可以存放 null 值。
1. null 值处理
如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 null 值保存。
null 值的处理方式与其他值不同。
null 用作未知的或不适用的值的占位符。
注释:无法比较 null 和 0;它们是不等价的。
请看下面的 "persons" 表:
p_id | lastname | firstname | address | city |
---|---|---|---|---|
1 | hansen | ola | sandnes | |
2 | svendson | tove | borgvn 23 | sandnes |
3 | pettersen | kari | stavanger |
假如 "persons" 表中的 "address" 列是可选的。这意味着如果在 "address" 列插入一条不带值的记录,"address" 列会使用 null 值保存。
那么我们如何测试 null 值呢?
无法使用比较运算符来测试 null 值,比如 =、< 或 <>。
我们必须使用 is null 和 is not null 操作符。
2. is null
我们如何仅仅选取在 "address" 列中带有 null 值的记录呢?
我们必须使用 is null 操作符:
select lastname,firstname,address from persons
where address is null
where address is null