暂无图片
暂无图片
2
暂无图片
暂无图片
1
暂无图片

OceanBase SQL语句逻辑运算符

2024-05-04
134

OceanBase 数据库支持常用的逻辑运算符。

逻辑运算符概览

OceanBase 数据库当前版本所支持的逻辑运算符的详细信息如下表所示。

运算符操作数含义
NOT/!一元逻辑非
AND/&&二元逻辑与
OR/||二元逻辑或
XOR多元逻辑异或

说明

在 SQL 中,所有逻辑运算符的计算结果为 TRUEFALSE 或 NULL (UNKNOWN)。OceanBase 数据库将他们实现为 1 (TRUE)、0 (FALSE) 和 NULL,并将任何非零、非 NULL 值评估为 TRUE

NOT/!

如果操作数为 0,则计算结果为 1。如果操作数为非零,则计算结果为 0,并且 NOT NULL 返回 NULL

示例如下:

obclient> SELECT NOT NULL;
+----------+
| NOT NULL |
+----------+
|     NULL |
+----------+
1 row in set 

obclient> SELECT ! (1+1);
+---------+
| ! (1+1) |
+---------+
|       0 |
+---------+
1 row in set 
复制

AND/&&

如果所有操作数都非零且不为 NULL,则计算结果为 1。如果一个或多个操作数为 0,则计算结果为 0,否则返回 NULL

示例如下:

obclient> SELECT 1 AND NULL;
+------------+
| 1 AND NULL |
+------------+
|       NULL |
+------------+
1 row in set 

obclient> SELECT 0 AND NULL;
+------------+
| 0 AND NULL |
+------------+
|          0 |
+------------+
1 row in set 
复制

OR/||

当两个操作数都不为 NULL 时,如果任何操作数为非零,则结果为 1,否则为 0。 对于 NULL 操作数,如果另一个操作数非零,则结果为 1,否则为 NULL。 如果两个操作数都为 NULL,则结果为 NULL

示例如下:

obclient> SELECT 0 OR NULL;
+-----------+
| 0 OR NULL |
+-----------+
|      NULL |
+-----------+
1 row in set 

obclient> SELECT 1 OR NULL;
+-----------+
| 1 OR NULL |
+-----------+
|         1 |
+-----------+
1 row in set 
复制

XOR

如果任一操作数为 NULL,则返回 NULL。对于非 NULL 操作数,如果奇数个操作数不为零,则计算结果为 1,否则返回 0。

示例如下:

obclient> SELECT 1 XOR NULL;
+------------+
| 1 XOR NULL |
+------------+
|       NULL |
+------------+
1 row in set 

obclient> SELECT 1 XOR 1 XOR 1;
+---------------+
| 1 XOR 1 XOR 1 |
+---------------+
|             1 |
+---------------+
1 row in set 
复制

说明

a XOR b 在数学上等于 (a AND (NOT b)) OR ((NOT a) and b)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

筱悦星辰
暂无图片
11月前
评论
暂无图片 0
保持热爱,乘风破浪 一路披荆斩棘,一路奋力成长
11月前
暂无图片 点赞
评论