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
赋值运算符
:=
以上是 MySQL学习笔记(5):运算符 的全部内容, 来源链接: utcz.com/z/534309.html