Article Outline
深入浅出MySQL阅读笔记三:运算符
1. 算术运算符
运算符 | 作用 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/,DIV | 除法,返回商 |
%,MOD | 除法,返回余数 |
mysql> select 4 DIV 2,3 DIV 7,3/7,MOD(7,3);
+---------+---------+--------+----------+
| 4 DIV 2 | 3 DIV 7 | 3/7 | MOD(7,3) |
+---------+---------+--------+----------+
| 2 | 0 | 0.4286 | 1 |
+---------+---------+--------+----------+
2. 比较运算符
运算符 | 作用 |
---|---|
= | 等于 |
<>或!= | 不等于 |
<=> NULL | 安全的等于(NULL-safe) |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
BETWEEN | 存在与指定范围 |
IN | 存在于指定集合 |
IS NULL | 为 NULL |
IS NOT NULL | 不为 NULL |
LIKE | 通配符匹配 |
REGEXP 或 RLIKE | 正则表达式匹配 |
-- <=>和=的区别
mysql> select 1=1,null = null,null <=> null;
+-----+-------------+---------------+
| 1=1 | null = null | null <=> null |
+-----+-------------+---------------+
| 1 | NULL | 1 |
+-----+-------------+---------------+
-- “REGEXP”运算符的使用格式为“str REGEXP str_pat”
mysql> select 'abcdef' regexp 'ab' ,'abcdefg' regexp 'k';
+----------------------+----------------------+
| 'abcdef' regexp 'ab' | 'abcdefg' regexp 'k' |
+----------------------+----------------------+
| 1 | 0 |
+----------------------+----------------------+
比较运算符的返回结果是 1 或者 0
3. 逻辑运算符
运算符 | 作用 |
---|---|
NOT 或! | 逻辑非 |
AND 或&& | 逻辑与 |
OR 或 || | 逻辑或 |
XOR | 逻辑异或 |
XOR
:
- 有null,返回null
- 没有null,同0异1
4. 位运算符
运算符 | 作用 |
---|---|
& | 位与(位 AND) |
| | 位或 (位 OR ) |
^ | 位异或(位 XOR) |
~ | 位取反 |
>> | 位右移 |
<< | 位左移 |
5. 小结
本章主要介绍了 MySQL 中支持的各种运算符。这些运算符可以帮助用户完成算术、比较、 逻辑和位逻辑操作,大家在使用时要注意运算符的优先级。另外,在使用比较运算符时要保 证比较的操作数类型是一致的,这样可以避免由于操作数类型的不一致而得出错误的数据。