GaussDB null的用法
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,否则就会报语法错误。