本章节我们主要介绍 MySQL 的运算符及运算符的优先级。 MySQL 主要有以下几种运算符:
- 算术运算符
- 比较运算符
- 逻辑运算符
- 位运算符
算术运算符
MySQL 支持的算术运算符包括:
运算符 | 作用 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ 或 DIV | 除法 |
% 或 MOD | 取余 |
在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。
1、加
mysql> select 1+2;
+-----+
| 1+2 |
+-----+
| 3 |
+-----+
2、减
mysql> select 1-2;
+-----+
| 1-2 |
+-----+
| -1 |
+-----+
3、乘
mysql> select 2*3;
+-----+
| 2*3 |
+-----+
| 6 |
+-----+
4、除
mysql> select 2/3;
+--------+
| 2/3 |
+--------+
| 0.6667 |
+--------+
5、商
mysql> select 10 DIV 4;
+----------+
| 10 DIV 4 |
+----------+
| 2 |
+----------+
6、取余
mysql> select 10 MOD 4;
+----------+
| 10 MOD 4 |
+----------+
| 2 |
+----------+
比较运算符
SELECT 语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL。
符号 | 描述 | 备注 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
= | 等于 | |||||||||||||||||||||
, != | 不等于 | |||||||||||||||||||||
> | 大于 | |||||||||||||||||||||
=min&& select 2=3; +-----+ | 2=3 | +-----+ | 0 | +-----+ mysql> select NULL = NULL; 2、不等于 mysql> select 23; 3、安全等于 与 = 的区别在于当两个操作码均为 NULL 时,其所得值为 1 而不为 NULL,而当一个操作码为 NULL 时,其所得值为 0而不为 NULL。 mysql> select 23; mysql> select null=null; mysql> select nullnull; 4、小于 mysql> select 23 | 7、大于等于 mysql> select 2>=3; 8、BETWEEN mysql> select 5 between 1 and 10; 9、IN mysql> select 5 in (1,2,3,4,5); 10、NOT IN mysql> select 5 not in (1,2,3,4,5); 11、IS NULL mysql> select null is NULL; mysql> select 'a' is NULL; 12、IS NOT NULL mysql> select null IS NOT NULL; mysql> select 'a' IS NOT NULL; 13、LIKE mysql> select '12345' like '12%'; mysql> select '12345' like '12_'; 14、REGEXP mysql> select 'beijing' REGEXP 'jing'; mysql> select 'beijing' REGEXP 'xi'; 逻辑运算符逻辑运算符用来判断表达式的真假。如果表达式是真,结果返回 1。如果表达式是假,结果返回 0。
1、与 mysql> select 2 and 0; mysql> select 2 and 1; 2、或 mysql> select 2 or 0; mysql> select 2 or 1; mysql> select 0 or 0; mysql> select 1 || 0; 3、非 mysql> select not 1; mysql> select !0; 4、异或 mysql> select 1 xor 1; mysql> select 0 xor 0; mysql> select 1 xor 0; mysql> select null or 1; mysql> select 1 ^ 0; 位运算符位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。
1、按位与 mysql> select 3&5; 2、按位或 mysql> select 3|5; 3、按位异或 mysql> select 3^5; 4、按位取反 mysql> select ~18446744073709551612; 5、按位右移 mysql> select 3>>1; 6、按位左移 mysql> select 3 |