目录
算术运算符
使用方法:select 表达式。mysql中支持的算术运算符包括:
运算符 | 作用 |
+ | 加法 |
- | 减法 |
* | 乘法 |
/或者DIV | 除法(不进行取整操作) |
%或者MOD | 取余 |
在除法和模的运算中,如果除数为0,则是非法的,返回NULL
mysql> select 1+1,3*7,7/3,7%3;
+-----+-----+--------+------+
| 1+1 | 3*7 | 7/3 | 7%3 |
+-----+-----+--------+------+
| 2 | 21 | 2.3333 | 1 |
+-----+-----+--------+------+
1 row in set (0.00 sec)
比较运算
在select语句中的条件语句经常要用到比较运算符来进行判定记录是否符合条件。如果符合,返回1,不符合则返回NULL
符号 | 描述 | 备注 |
= | 等于 | |
<>,!= | 不等于 | |
> | 大于 | |
< | 小于 | |
<= | 小于等于 | |
>= | 大于等于 | |
between a and b | 两者之间 | a<=&&<=b |
not between | 不在两者之间 | |
in | 在集合中 | |
not in | 不在集合中 | |
<=> | 严格比较两个值是否相等 | 当两个操作码均为NULL时,返回为1;当有一个操作码为NULL时 返回0 |
LIKE | 模糊匹配 | |
REGXP或RLIKE | 正则匹配 | |
is null | 为空 | |
is not null | 不为空 |
mysql> select NULL=NULL,NULL<=>NULL,5 BETWEEN 5 AND 6,NULL IS NULL,NULL IS NOT NULL;
+-----------+-------------+-------------------+--------------+------------------+
| NULL=NULL | NULL<=>NULL | 5 BETWEEN 5 AND 6 | NULL IS NULL | NULL IS NOT NULL |
+-----------+-------------+-------------------+--------------+------------------+
| NULL | 1 | 1 | 1 | 0 |
+-----------+-------------+-------------------+--------------+------------------+
1 row in set (0.00 sec)
mysql> select '123','12345' LIKE '12_';
+-----+--------------------+
| 123 | '12345' LIKE '12_' |
+-----+--------------------+
| 123 | 0 |
+-----+--------------------+
1 row in set (0.00 sec)
逻辑运算符
逻辑运算符用于判断表达式的真假。如果表达式为真,返回1,否则返回0;
运算符号 | 作用 |
NOT或! | 逻辑非 |
AND | 逻辑与 |
OR | 逻辑或 |
XOR | 逻辑异或 |
mysql> select 1 and 1,5 or 0,null or 1,1 xor 0;
+---------+--------+-----------+---------+
| 1 and 1 | 5 or 0 | null or 1 | 1 xor 0 |
+---------+--------+-----------+---------+
| 1 | 1 | 1 | 1|
+---------+--------+-----------+---------+
位运算符
位运算是对二进制的数进行运算。在进行操作的时候,先把数字变为二进制,然后进行位运算,将结果返回十进制
运算符号 | 作用 |
& | 按位运算 |
| | 按位或 |
^ | 按位异或 |
! | 取反 |
<< | 左移 |
>> | 右移 |
mysql> select 1<<2,4^1,!0,2>>1;
+------+-----+----+------+
| 1<<2 | 4^1 | !0 | 2>>1 |
+------+-----+----+------+
| 4 | 5 | 1 | 1 |
+------+-----+----+------+