> 技术文档 > GaussDB null的用法

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 操作符。

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