本文更新于2020-06-14,使用MySQL 5.7,操作系統(tǒng)為Deepin 15.4。
算數(shù)運(yùn)算符
運(yùn)算符 |
語法 |
說明 |
+ |
a + b |
加法 |
- |
a - b |
減法 |
* |
a * b |
乘法 |
/ |
a / b |
除法。類似DIV ,但DIV 會對結(jié)果取整,/ 的結(jié)果可為小數(shù) |
% |
a % b |
取余。類似MOD |
- 除法和取模,若除數(shù)為0,則返回
NULL 。
NULL 參與的算數(shù)運(yùn)算都返回NULL 。
比較運(yùn)算符
運(yùn)算符 |
語法 |
說明 |
= |
a = b |
等于 |
!=或<> |
a != b |
不等于 |
<=> |
a <=> b |
NULL 安全的等于 |
< |
a < b |
小于 |
<= |
a <= b |
小于等于 |
> |
a > b |
大于 |
>= |
a >= b |
大于等于 |
BETWEEN |
a BETWEEN min AND max |
存在于指定區(qū)間[min, max] |
IN |
a IN (value[, ...]) |
存在于指定集合 |
IS |
a IS [NOT] NULL |
是否為NULL |
LIKE |
a LIKE 'pattern' |
通配符匹配 |
REGEXP或RLIKE |
a REGEXP 'regexp' |
正則表達(dá)式匹配 |
- 若比較結(jié)果為真則返回1,為假則返回0,不確定則返回
NULL 。
- 兩個字符串字面量直接用
= 比較時,不區(qū)分大小寫。
NULL <=> NULL 返回1,其他值與NULL 比較都返回NULL 。
LIKE 的模式可使用% 表示0個或多個任意字符。
正則表達(dá)式的模式如下:
模式 |
作用 |
^ |
匹配字符串開始 |
$ |
匹配字符串結(jié)尾 |
. |
匹配任意單個字符,包括換行符 |
[...] |
匹配括號中的任意字符 |
[^...] |
匹配不在括號中的任意字符 |
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 |
(...) |
將模式元素組成單一元素 |
邏輯運(yùn)算符
運(yùn)算符 |
語法 |
說明 |
!或NOT |
!a |
非 |
&&或AND |
a && b |
與 |
||或OR |
a || b |
或 |
XOR |
a XOR b |
異或 |
- 若結(jié)果為真則返回1,為假則返回0,不確定則返回
NULL 。
NULL 參與|| 運(yùn)算,當(dāng)另一個操作數(shù)為1時,返回1,否則返回NULL 。NULL 參與其他邏輯運(yùn)算均返回NULL ,包括NOT NULL 。
位運(yùn)算符
運(yùn)算符 |
語法 |
說明 |
~ |
~a |
按位反 |
& |
a & b |
按位與 |
| |
a | b |
按位或 |
^ |
a ^ b |
按位異或 |
>> |
a >> b |
位右移 |
<< |
a << b |
位左移 |
- 位運(yùn)算得出的結(jié)果為十進(jìn)制形式的整數(shù)。
- 常量數(shù)字默認(rèn)是8字節(jié)。
<< 右側(cè)補(bǔ)0,>> 左側(cè)補(bǔ)0,都會連帶符號位一起移動。負(fù)數(shù)移位后的結(jié)果為無符號整數(shù)。
運(yùn)算符優(yōu)先級
按優(yōu)先級從高到低依次為:
運(yùn)算符類型 |
運(yùn)算符 |
單目運(yùn)算符 |
! |
單目運(yùn)算符 |
-、~ |
單目運(yùn)算符 |
^ |
算數(shù)運(yùn)算符 |
*、/(DIV)、%(MOD) |
算數(shù)運(yùn)算符 |
+、- |
位運(yùn)算符 |
<<、>> |
位運(yùn)算符 |
& |
位運(yùn)算符 |
| |
比較運(yùn)算符 |
=、!=(<>)、<=>、<、<=、>、>=、BETWEEN、IN、IS、LIKE、REGEXP(RLIKE) |
|
BETWEEN、CASE、WHEN、THEN、ELSE |
邏輯運(yùn)算符 |
!(NOT) |
邏輯運(yùn)算符 |
&&(AND) |
邏輯運(yùn)算符 |
||(OR)、XOR |
賦值運(yùn)算符 |
:= |
|