本文更新於2020-06-14,使用MySQL 5.7,操作系統為Deepin 15.4。 算數運算符 運算符 語法 說明 + a + b 加法 - a - b 減法 * a * b 乘法 / a / b 除法。類似DIV,但DIV會對結果取整,/的結果可為小數 % a % b 取餘。類似MOD 除 ...
本文更新於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 |
賦值運算符 | := |