首批通过分布式安全可靠测评,为关键业务系统打造
空值概述
更新时间:2023-07-18 17:27:23
空值(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。