本文内容来自YashanDB官网,原文内容请见 https://doc.yashandb.com/yashandb/23.3/zh/%E5%BC%80%E5%8F%91%...
逻辑运算符要求运算的数据必须为布尔型,否则不执行运算并提示错误。
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
--------------------------------
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。