条件判断表达式中的空值指的是条件 = NULL
、!= NULL
、 NULL =
、NULL !=
中的 NULL
,作逻辑判断使用,判断结果不返回任何行,即 UNKNOWN
。
在 OceanBase 中,测试空值要用比较运算符 IS NULL
,返回结果为 TRUE
或 FALSE
。但是条件判断表达式中空值的判断结果 UNKNOWN
与 FALSE
不同,NOT FALSE
判断结果为 TRUE
, NOT UNKNOWN
判断结果仍然为 UNKNOWN
。
如下所示,根据 A 值判断条件判断表达式的结果。
条件 | A 值 | 结果 |
A = NULL | 10 | UNKNOWN |
A != NULL | 10 | UNKNOWN |
A = NULL | NULL | UNKNOWN |
A != NULL | NULL | UNKNOWN |
A = 10 | NULL | UNKNOWN |
A != 10 | NULL | UNKNOWN |
如果在 SELECT
语句的 WHERE
子句中使用了判断结果为 UNKNOWN
的条件,则该查询将不返回任何行。