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)