1 null的定義
null 空值代表丟失的未知數據。
默認情況下,表列可以保存 null 值。
本章解釋 is null 和 is not null 操作符。
2 null值的贅述
如果表中的列是可選的,那么我們可以插入一個新記錄或更新一個現有記錄,而無
需向列添加一個值。這意味著該字段將存儲為 null 。
null值的處理與其他值不同。null為未知或不適當值的占位符。
注:
無法比較 null 和 0 ;它們是不等價的。
請看下面的"customers" 表:
csdn=> select * from customers;id | name | addr | city | zip | province
----+--------+--------------+--------+--------+----------1 | 張三 | 北京路27號 | 上海 | 200000 | 上海市2 | 李四 | 南京路12號 | 杭州 | 310000 | 浙江市3 | 王五 | 花城大道17號 | 廣州 | 510000 | 廣東省4 | 馬六 | 江夏路19號 | 武漢 | 430000 | 湖北省5 | 趙七 | 西二旗12號 | 北京 | 100000 | 北京市6 | 魯智深 | 丁家鎮23號 | 韻含路 | 504320 | 廣東省7 | 老三 | | | | 廣東省8 | 老六 | | | | 廣東省
(8 rows)csdn=>
如果"customers" 表 地址、城市或郵編 一欄是可選的。這意味著,如果在地址列中插入一個沒有值的記錄,則地址列將用null值保存。
那么如何測試null的值呢?不能使用比較操作符測試null 值,例如= 、>?或 <>。
我們必須使用is null 和 is not null 操作符。
3?is null?
我們如何才能選擇地址 列中有 NULL 值的記錄?我們必須使用is null 操作符:
select * from customers where addr?is null;
結果:
提示:總是使用 is null 來查找 null?值。
4 is not null
我們如何才能選擇地址 列中沒有 null 值的記錄?我們必須使用 is not null 操作符:
select * from customers where addr is not null;
結果:
5 批注
null值在建表的時候就可以默認分配,在查詢過程中不能使用比較操作符來進行篩選或查找,只能使用is null和is not null,否則就會報語法錯誤。