运算符 | 作用 |
NOT | 逻辑非 |
AND | 逻辑与 |
OR | 逻辑或 |
注意:
所有逻辑运算符的参数必须是 布尔变量
,如果随意输入其他类型的数值,就会抛出错误。
NOT
逻辑非运算符 NOT
表示当操作数为 TRUE
时,所得值为 f
;当操作数为 FALSE
时,所得值为 t
;当操作数为 NULL
时,所得返回值为 空值
。
示例:
$ SELECT NOT '1', NOT 'y', NOT '0', NOT NULL, NOT 'n';点击复制复制失败已复制
结果入下:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
false | false | true | null | true |
AND
逻辑与运算符 AND
表示当所有操作数均为 TRUE
并且不为 NULL
时,计算所得结果为 t
,当一个或多个操作数为 FALSE
时,所得结果为 f
,其余情况返回值为 空值
。
示例:
$ SELECT '1' AND 'y', '1' AND '0', '1' AND NULL, '0' AND NULL;点击复制复制失败已复制
结果入下:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
true | false | null | false |
OR
逻辑或运算符 OR
表示当两个操作数均为非 NULL
值时,任意一个操作数为 TRUE
就返回 t
,否则返回 f
;有一个操作数为 NULL
时,若另一个操作数为 TRUE
,结果为 t
,否则为 空值
;当两个操作数均为 NULL
时,所得结果为 空值
。规则如下表:
操作数1 | 操作数2 | 结果 |
非NULL | 非NULL | 正常逻辑 |
NULL | TRUE | t |
NULL | FALSE | NULL |
NULL | NULL | NULL |
示例:
$ SELECT '1' OR 't' OR '0', '1' OR 'y', '1' OR NULL, '0' OR NULL, NULL OR NULL;点击复制复制失败已复制
结果入下:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
true | true | true | null | null |