首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL中逻辑操作符学习--MySql语法

MySQL中逻辑操作符学习--MySql语法

作者头像
用户1289394
发布2021-07-09 15:25:15
发布2021-07-09 15:25:15
8330
举报
文章被收录于专栏:Java学习网Java学习网

在SQL中,所有逻辑 操作符的求值所得结果均为 TRUE、FALSE或 NULL (UNKNOWN)。在 MySQL中,它们体现为 1 (TRUE)、 0 (FALSE)和 NULL。其大多数都与不同的数据库SQL通用,然而一些服务器对TRUE的返回值可能是任意一个非零值。

  • NOT !

逻辑 NOT。当操作数为0 时,所得值为 1 ;当操作数为非零值时,所得值为 0 ,而当操作数为NOT NULL时,所得的返回值为 NULL。

mysql> SELECT NOT 10;

-> 0

mysql> SELECT NOT 0;

-> 1

mysql> SELECT NOT NULL;

-> NULL

mysql> SELECT ! (1+1);

-> 0

mysql> SELECT ! 1+1;

-> 1

最后一个例子产生的结果为 1,原因是表达式的计算方式和(!1)+1相同。

  • AND &&

逻辑AND。当所有操作数均为非零值、并且不为NULL时,计算所得结果为 1 ,当一个或多个操作数为0 时,所得结果为 0 ,其余情况返回值为 NULL 。

mysql> SELECT 1 && 1;

-> 1

mysql> SELECT 1 && 0;

-> 0

mysql> SELECT 1 && NULL;

-> NULL

mysql> SELECT 0 && NULL;

-> 0

mysql> SELECT NULL && 0;

-> 0

  • OR ||

逻辑 OR。当两个操作数均为非 NULL值时,如有任意一个操作数为非零值,则结果为1,否则结果为0。当有一个操作数为NULL时,如另一个操作数为非零值,则结果为1,否则结果为 NULL 。假如两个操作数均为 NULL,则所得结果为 NULL。

mysql> SELECT 1 || 1;

-> 1

mysql> SELECT 1 || 0;

-> 1

mysql> SELECT 0 || 0;

-> 0

mysql> SELECT 0 || NULL;

-> NULL

mysql> SELECT 1 || NULL;

-> 1

  • XOR

逻辑XOR。当任意一个操作数为 NULL时,返回值为NULL。对于非 NULL 的操作数,假如一个奇数操作数为非零值,则计算所得结果为 1 ,否则为 0 。

mysql> SELECT 1 XOR 1;

-> 0

mysql> SELECT 1 XOR 0;

-> 1

mysql> SELECT 1 XOR NULL;

-> NULL

mysql> SELECT 1 XOR 1 XOR 1;

-> 1

a XOR b 的计算等同于 (a AND (NOT b)) OR ((NOT a)和 b)。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档