NULL值

NULL值代表未知数据。无法比较NULL和0,因为它们是不等价的。

创建表时,可以指定列可以存放或者不能存放NULL值,详情请参见NOT NULL约束。本节介绍IS NULL和IS NOT NULL操作符。

创建表customer_t1,数据如下:

1. openGauss=# SELECT * FROM customer_t1;
2. c_customer_sk | c_customer_id | c_first_name | c_last_name | amount
3. ---------------+---------------+--------------+-------------+--------
4. 3869 | hello         | Grace        |             |   1000
5. 3869 |               | Grace        |             |
6. 3869 | hello         |              |             |
7. 6985 | maps          | Joes         |             |   2200
8. 9976 | world         | James        |             |   5000
9. 4421 | Admin         | Local        |             |   3000
10. (6 rows)

IS NOT NULL

在WHERE子句中查找为NULL值的字段。

例如,列出表customer_t1中c_customer_id不为空值的字段。

1. openGauss=# SELECT * FROM customer_t1 WHERE c_customer_id IS NOT NULL;
2. c_customer_sk | c_customer_id | c_first_name | c_last_name | amount
3. ---------------+---------------+--------------+-------------+--------
4. 3869 | hello         | Grace        |             |   1000
5. 3869 | hello         |              |             |
6. 6985 | maps          | Joes         |             |   2200
7. 9976 | world         | James        |             |   5000
8. 4421 | Admin         | Local        |             |   3000
9. (5 rows)

IS NULL

在WHERE子句中查找为NULL值的字段。

例如,列出表customer_t1中c_customer_id为空值的字段。

1. openGauss=# SELECT * FROM customer_t1 WHERE c_customer_id IS NULL;
2. c_customer_sk | c_customer_id | c_first_name | c_last_name | amount
3. ---------------+---------------+--------------+-------------+--------
4. 3869 |               | Grace        |             |
5. (1 row)