OceanBase 条件判断表达式中的空值
条件判断表达式中的空值指的是条件 = 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 的条件,则该查询将不返回任何行。