YashanDB逻辑运算符

47 阅读1分钟

本文内容来自YashanDB官网,原文内容请见 doc.yashandb.com/yashandb/23…

逻辑运算符要求运算的数据必须为布尔型,否则不执行运算并提示错误。

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
--------------------------------