#逻辑运算符

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

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

pdf-btn 下载文档
copy-btn 复制链接