MYSQL中的运算符

1:算数运算符

运算符作用
+加法
-减法
*乘法
/,DIV除法 ,返回商
% ,MOD()除法,返回余数

例:

mysql> select 1+2,3-2,5*3,5/3,5%3;
+-----+-----+-----+--------+-----+
| 1+2 | 3-2 | 5*3 | 5/3    | 5%3 |
+-----+-----+-----+--------+-----+
|   3 |   1 |  15 | 1.6667 |   2 |
+-----+-----+-----+--------+-----+
1 row in set (0.06 sec)

mysql> SELECT 5 DIV 3,MOD(5,3);
+---------+----------+
| 5 DIV 3 | MOD(5,3) |
+---------+----------+
|       1 |        2 |
+---------+----------+
1 row in set (0.05 sec)

2:比较运算符

运 算 符作 用
=等于
<>或!=不等于
<=>NULL安全的等于(NULL-safe)
<小于
<=小于等于
>大于
>=大于等于
BETWEEN存在于指定范围
IN存在于指定集合
IS NULL为NULL
IS NOT NULL不为NULL
LIKE通配符匹配
REGEXP或RLIKE正则表达式匹配

例:

=”判断运算符两侧是否相等,相等返回1,否则返回0NULL不能使用“=”比较。
mysql> select 1=1,1=0,NULL=NULl;
+-----+-----+-----------+
| 1=1 | 1=0 | NULL=NULl |
+-----+-----+-----------+
|   1 |   0 | NULL      |
+-----+-----+-----------+
1 row in set (19.07 sec)<>”运算符,和“=”相反,如果两侧操作数不等,则值为1,否则为0NULL不能用于”<>“比
较。
mysql> SELECT 1<>0,1<>1,NULL<>NULL;
+------+------+------------+
| 1<>0 | 1<>1 | NULL<>NULL |
+------+------+------------+
|    1 |    0 | NULL       |
+------+------+------------+
1 row in set (0.06 sec)<=>” 运算符,和“=“类似,在操作叔相等时为1,不同之处在于即使操作的值为NULL也可以进行比较。
mysql> SELECT 1<=>1,2<=>0,0<=>0,NULL<=>NULL;
+-------+-------+-------+-------------+
| 1<=>1 | 2<=>0 | 0<=>0 | NULL<=>NULL |
+-------+-------+-------+-------------+
|     1 |     0 |     1 |           1 |
+-------+-------+-------+-------------+
1 row in set (0.06 sec)

"<" 运算符,当左侧操作数小于右侧操作数时,其返回值为1,否则其值为0.
mysql> select 'a'<'b','a'<'a','a'<'c',1<2;
+---------+---------+---------+-----+
| 'a'<'b' | 'a'<'a' | 'a'<'c' | 1<2 |
+---------+---------+---------+-----+
|       1 |       0 |       1 |   1 |
+---------+---------+---------+-----+
1 row in set (0.07 sec)

剩余不在举例;

3:逻辑运算符

运 算 符作 用
NOT或 !逻辑非
AND 或 &&逻辑与
OR 或 ||逻辑或
XOR逻辑异或

例:

"NOT""!"表示逻辑非。返回和操作数相反的结果:当操作数为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)

"AND""&&" 表示逻辑与运算。当所有操作数均为非零值并且不为NULL时,计算所得结果为1,
当一个或多个操作数为0时,所得结果为0,操作数中有任何一个为NULL则返回值为NULL
mysql> select (1 and 1),(0 and 1),(3 and 1),(1 and null);
+-----------+-----------+-----------+--------------+
| (1 and 1) | (0 and 1) | (3 and 1) | (1 and null) |
+-----------+-----------+-----------+--------------+
|         1 |         0 |         1 |         NULL |
+-----------+-----------+-----------+--------------+
1 row in set (0.00 sec)

""""表示逻辑或运算。当两个操作数均为非NULL值时,如有任意一个操作数为非零值,则结果为1,
否则结果为0.当有一个操作数为NULL时,如另一个操作数为非零值,则结果为1,否则结果为NULL。
假如两个操作数均为NULL,则所得结果为NULL。
mysql> select (1 or 1), (1 or 0), (0 or 0),(1 or null),(null or null);
+----------+----------+----------+-------------+----------------+
| (1 or 1) | (1 or 0) | (0 or 0) | (1 or null) | (null or null) |
+----------+----------+----------+-------------+----------------+
|        1 |        1 |        0 |           1 |           NULL |
+----------+----------+----------+-------------+----------------+
1 row in set (0.00 sec)

"XOR" 表示逻辑异或。当任意一个操作数为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)

4:位运算符

运算符作用
&位与(位 AND)
|位与(位 OR)
^位异或(位XOR)
~位取反
>>位右移
<<位左移

例:

5:运算符的优先级

运 算 符作 用
1:=
2||、OR、XOR
3&&、AND
4NOT
5BETWEEN、CASE、WHEN和ELSE
6=、<=>、>=、>、<=、<、<>、!=、IS、LIKE、REGEXP和IN
7|
8&
9<<和>>
10+和-
11*、/、DIV、%和MOD
12^
13-(一元减号)和~(一元比特反转)
14!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值