空值(Null)指数据库表中无效的、未指定的、未知的或不可预知的值。空值的出现不受 NOT NULL
或 PRIMARY KEY
主键约束。任何包含 NULL
的算术表达式结果都为 NULL
。
OceanBase 支持以下 3 种空值类型。
SQL 函数中的空值
SQL 函数中的空值 指的是 SQL 函数的参数为空值,当 SQL 函数的参数为空值时,大多数标量函数都返回 NULL
,分析函数会忽略空值。此类别中有以下两种 SQL 函数:
空值 | 说明 |
NVL 函数中的空值 | 在表达式中 NVL(expr1,expr2) 中,如果 expr1 不是 NULL,返回 expr1 ,否则返回 expr2 。 |
分析函数中的空值 | 使用 AVG 、MAX 、SUM 或 COUNT 等分析函数时,为 NULL 的纪录会被忽略。 |
比较条件中的空值
比较条件中的空值 指与任何其他条件做比较的 NULL
。测试空值只能用比较运算符 IS NULL
和 IS NOT NULL
。因为 NULL
表示缺少数据,所以 NULL
和其它值没有可比性,即不能用等于、不等于、大于或小于和其它数值比较,当然也包括空值本身。
条件判断表达式中的空值
条件判断表达式中的空值 指的是条件 = NULL
、!= NULL
、 NULL =
、NULL !=
中的 NULL
,作逻辑判断使用,判断结果不返回任何行,即 UNKNOWN
。