空值(Null)指数据库表中无效的、未指定的、未知的或不可预知的值。空值的出现不受 NOT NULLPRIMARY KEY 主键约束。任何包含 NULL 的算术表达式结果都为 NULL

    OceanBase 支持以下 3 种空值类型。

    SQL 函数中的空值

    SQL 函数中的空值 指的是 SQL 函数的参数为空值,当 SQL 函数的参数为空值时,大多数标量函数都返回 NULL,分析函数会忽略空值。此类别中有以下两种 SQL 函数:

    空值说明
    NVL 函数中的空值在表达式中 NVL(expr1,expr2)中,如果 expr1 不是 NULL,返回 expr1,否则返回 expr2
    分析函数中的空值使用 AVGMAXSUMCOUNT 等分析函数时,为 NULL 的纪录会被忽略。

    比较条件中的空值

    比较条件中的空值 指与任何其他条件做比较的 NULL 。测试空值只能用比较运算符 IS NULLIS NOT NULL 。因为 NULL 表示缺少数据,所以 NULL 和其它值没有可比性,即不能用等于、不等于、大于或小于和其它数值比较,当然也包括空值本身。

    条件判断表达式中的空值

    条件判断表达式中的空值 指的是条件 = NULL!= NULLNULL =NULL != 中的 NULL,作逻辑判断使用,判断结果不返回任何行,即 UNKNOWN