#逻辑运算符
逻辑运算符要求运算的数据必须为布尔型,否则不执行运算并提示错误。
YashanDB提供如下逻辑运算符:
运算符 | 操作数 | 含义 | NULL参与运算 |
---|---|---|---|
AND | 二元 | 双值运算符,如果左右两个条件都为真,则结果为真,否则结果为假。 | 结果为NULL |
OR | 二元 | 双值运算符,只要左右两个条件有一个为真,则结果为真,否则结果为假。 | * true OR NULL:结果为true * false OR NULL:结果为NULL * NULL OR NULL:结果为NULL |
NOT | 一元 | 单值运算符,如果原条件为真,则得到假,反之如果原条件为假,则结果为真 | 结果为NULL |
从高到低的运算优先级为:NOT>AND>OR,可以使用双括号()来调整想达到的运算优先级。
示例
-- 创建logics表并插入数据
CREATE TABLE logics (c1 INT, c2 CHAR(1), c3 INT);
INSERT INTO logics VALUES (1,'a',3);
COMMIT;
-- WHERE语句里的逻辑计算
SELECT c1,c2,c3 FROM logics WHERE 1=1 AND 1=0;
C1 C2 C3
------------ ----- ------------
SELECT c1,c2,c3 FROM logics WHERE 1=1 OR 1=0;
C1 C2 C3
------------ ----- ------------
1 a 3
SELECT c1,c2,c3 FROM logics WHERE NOT (1<>1);
C1 C2 C3
------------ ----- ------------
1 a 3
SELECT SYSDATE FROM dual WHERE NOT 1=2 AND 1=2;
SYSDATE
--------------------------------