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