mysql分母为0_十一、MySQL基础系列笔记之运算符

MySQL支持多种类型的运算符,主要包括算术运算符、比较运算符、逻辑运算符、位运算符。

算术运算符

MySQL算术运算符包括加减乘除和取余。需要注意的是,在除法与模运算中,如果除数为0,将是非法除数,返回结果为NULL。# 除法运算中,分母为0,将返回NULL

mysql> select 100 / 0 ,100 % 0;

+---------+---------+

| 100 / 0 | 100 % 0 |

+---------+---------+

|    NULL |    NULL |

+---------+---------+

1 row in set, 2 warnings (0.00 sec)

比较运算符

当使用SELECT语句查询时,MySQL允许用户对表达式的左操作符和右边操作符进行比较,比较结果为真,则返回1,为假则返回0,比较不确定的结果时返回NULL。

MySQL支持的比较运算符有=、<>/!=、<=>、、>=、BETWEEN、IN、IS NULL、IS NOT NULL、LIKE、REGEXP/RLIKE。

比较运算符可以用于比较数字、字符串和表达式。数字作为浮点数比较,字符串不区分大小写的方式进行比较。# 等于运算:相等返回1,反之0。NULL不能用于=比较

mysql> select 1=0,1=1,NULL=NULL;

+-----+-----+-----------+

| 1=0 | 1=1 | NULL=NULL |

+-----+-----+-----------+

|   0 |   1 |      NULL |

+-----+-----+-----------+、>=、between、in这些返回结果都一样,相等返回1,不相等返回0。

is null/is not null也是一样,值为null/not null返回1,返回返回0。mysql> select 0 is null,null is null,0 is not null,null is not null;

+-----------+--------------+---------------+------------------+

| 0 is null | null is null | 0 is not null | null is not null |

+-----------+--------------+---------------+------------------+

|         0 |            1 |             1 |                0 |

+-----------+--------------+---------------+------------------+

1 row in set (0.00 sec)

like/regexp同理,就不写出来了。

逻辑运算符

逻辑运算符又称布尔运算符,用来确认表达式的真和假。MySQL支持四种逻辑运算符,not/!(逻辑非)、and/&&(逻辑与)、or/||(逻辑或)、xor(逻辑异或)。

逻辑非

当操作符为0(假),则返回1,否则返回0,如果是not null则返回null。mysql> select not 0 , not 1,not null;

+-------+-------+----------+

| not 0 | not 1 | not null |

+-------+-------+----------+

|     1 |     0 |     NULL |

+-------+-------+----------+

1 row in set (0.00 sec)

逻辑与

当所有操作数均为非零值并且不为NULL时,结果为1;当一个或多个操作数为0时,结果为0,操作数中有任何一个为NULL,返回NULL。mysql> select (1 and 1),(0 and 1),(1 and null);

+-----------+-----------+--------------+

| (1 and 1) | (0 and 1) | (1 and null) |

+-----------+-----------+--------------+

|         1 |         0 |         NULL |

+-----------+-----------+--------------+

1 row in set (0.00 sec)

逻辑或

当两个操作数均为非NULL时,若任意一个为非零值,结果为1;当有一个操作数为NULL时,如另一个操作数为非零值,结果为1,否则结果为NULL,两个均为NULL,结果为NULL。mysql> select (1 or 0),(0 or 0),(1 or null),(null or null);

+----------+----------+-------------+----------------+

| (1 or 0) | (0 or 0) | (1 or null) | (null or null) |

+----------+----------+-------------+----------------+

|        1 |        0 |           1 |           NULL |

+----------+----------+-------------+----------------+

1 row in set (0.00 sec)

逻辑异或

当任意一个操作数为NULL时,返回值为NULL;非NULL操作数,若两个逻辑真假值相异,则返回结果1,否则返回0。mysql> select 1 xor 1, 0 xor 0,1 xor 0, 0 xor 1,null xor 1;

+---------+---------+---------+---------+------------+

| 1 xor 1 | 0 xor 0 | 1 xor 0 | 0 xor 1 | null xor 1 |

+---------+---------+---------+---------+------------+

|       0 |       0 |       1 |       1 |       NULL |

+---------+---------+---------+---------+------------+

1 row in set (0.00 sec)

位运算符

位运算符是将给定的操作数转化为二进制后,对操作数每一位进行指定的逻辑运算,得到的二进制结果转换为十进制数后就是位运算的结果。

位运算符有&(位与)、|(位或)、^(位异或)、~(位取反)、>>(位右移)、<

我是小白,期待和优秀的你一起同行!

小白

2020年10月15日

转载:感谢您对自如初博客网站的认可,所有文章均属原创文章,技术类文章转载请注明出处,“自如初博客”;文学类文章请带文本链接地址,否则视为侵权!

很赞哦!(3)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值