MySQL学习笔记(5):运算符
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
本文更新于2020-06-14,使用MySQL 5.7,操作系统为Deepin 15.4。
目录
- 算数运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 运算符优先级
算数运算符
运算符 | 语法 | 说明 |
---|---|---|
+ | a + b | 加法 |
- | a - b | 减法 |
* | a * b | 乘法 |
/ | a / b | 除法。类似DIV ,但DIV 会对结果取整,/ 的结果可为小数 |
% | a % b | 取余。类似MOD |
- 除法和取模,若除数为0,则返回
NULL
。 NULL
参与的算数运算都返回NULL
。
比较运算符
运算符 | 语法 | 说明 |
---|---|---|
= | a = b | 等于 |
!=或<> | a != b | 不等于 |
<=> | a <=> b | NULL 安全的等于 |
< | a < b | 小于 |
<= | a <= b | 小于等于 |
> | a > b | 大于 |
>= | a >= b | 大于等于 |
BETWEEN | a BETWEEN min AND max | 存在于指定区间[min, max] |
IN | a IN (value[, ...]) | 存在于指定集合 |
IS | a IS [NOT] NULL | 是否为NULL |
LIKE | a LIKE "pattern" | 通配符匹配 |
REGEXP或RLIKE | a REGEXP "regexp" | 正则表达式匹配 |
- 若比较结果为真则返回1,为假则返回0,不确定则返回
NULL
。 - 两个字符串字面量直接用
=
比较时,不区分大小写。 NULL <=> NULL
返回1,其他值与NULL
比较都返回NULL
。LIKE
的模式可使用%
表示0个或多个任意字符。
正则表达式的模式如下:
模式 | 作用 |
---|---|
^ | 匹配字符串开始 |
$ | 匹配字符串结尾 |
. | 匹配任意单个字符,包括换行符 |
[...] | 匹配括号中的任意字符 |
[^...] | 匹配不在括号中的任意字符 |
a* | 匹配0个或多个a |
a+ | 匹配1个或多个a |
a? | 匹配0个或1个a |
a|b | 匹配a或b |
a(n) | 匹配n个a |
a(n,) | 匹配n个或更多个a |
a(n, m) | 匹配n到m个a |
a(, n) | 匹配0到n个a |
(...) | 将模式元素组成单一元素 |
逻辑运算符
运算符 | 语法 | 说明 |
---|---|---|
!或NOT | !a | 非 |
&&或AND | a && b | 与 |
||或OR | a || b | 或 |
XOR | a XOR b | 异或 |
- 若结果为真则返回1,为假则返回0,不确定则返回
NULL
。 NULL
参与||
运算,当另一个操作数为1时,返回1,否则返回NULL
。NULL
参与其他逻辑运算均返回NULL
,包括NOT NULL
。
位运算符
运算符 | 语法 | 说明 |
---|---|---|
~ | ~a | 按位反 |
& | a & b | 按位与 |
| | a | b | 按位或 |
^ | a ^ b | 按位异或 |
>> | a >> b | 位右移 |
<< | a << b | 位左移 |
- 位运算得出的结果为十进制形式的整数。
- 常量数字默认是8字节。
<<
右侧补0,>>
左侧补0,都会连带符号位一起移动。负数移位后的结果为无符号整数。
运算符优先级
按优先级从高到低依次为:
运算符类型 | 运算符 |
---|---|
单目运算符 | ! |
单目运算符 | -、~ |
单目运算符 | ^ |
算数运算符 | *、/(DIV)、%(MOD) |
算数运算符 | +、- |
位运算符 | <<、>> |
位运算符 | & |
位运算符 | | |
比较运算符 | =、!=(<>)、<=>、<、<=、>、>=、BETWEEN、IN、IS、LIKE、REGEXP(RLIKE) |
BETWEEN、CASE、WHEN、THEN、ELSE | |
逻辑运算符 | !(NOT) |
逻辑运算符 | &&(AND) |
逻辑运算符 | ||(OR)、XOR |
赋值运算符 | := |
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341