NOT,!逻辑非
操作符说明
如果操作数为0,返回1;如果操作数为非零,返回0;如果操作数为NULL,返
回NULL。
示例
示例1:操作数为非零,返回值为0。
gbase> SELECT NOT 10 FROM dual;
+--------+
| NOT 10 |
+--------+
|
0 |
+--------+
1 row in set
示例2:操作数为0,返回值为1。
gbase> SELECT NOT 0 FROM dual;
+-------+
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
662
| NOT 0 |
+-------+
|
1 |
+-------+
1 row in set
示例3:操作数为NULL,返回值为NULL。
gbase> SELECT NOT NULL FROM dual;
+-----------+
| NOT NULL
|
+-----------+
|
NULL |
+-----------+
1 row in set
示例4:表达式的值为非零,返回值为0。
gbase> SELECT ! (1+1) FROM dual;
+---------+
| ! (1+1) |
+---------+
|
0 |
+---------+
1 row in set
示例5:表达式! 1+1 与(!1)+1 等价,执行结果为1。
gbase> SELECT ! 1+1 FROM dual;
+-------+
| ! 1+1 |
+-------+
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
663
|
1 |
+-------+
1 row in set
gbase> SELECT (!1)+1 FROM dual;
+--------+
| (!1)+1 |
+--------+
|
1 |
+--------+
1 row in set
示例6:..NOT IN...
gbase> SELECT 1 NOT IN (2,3,null) FROM dual;
+---------------------+
| 1 NOT IN (2,3,null) |
+---------------------+
|
NULL |
+---------------------+
1 row in set