MySQL 內(nèi)部運(yùn)算符很豐富,主要有四大類:算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符和位操作運(yùn)算符。
算術(shù)運(yùn)算符

示例:

比較運(yùn)算符
比較運(yùn)算符的結(jié)果總是1、0 或者是 null。

等于運(yùn)算符(=)
示例:

數(shù)值比較時(shí)有如下規(guī)則:
(1)若有一個(gè)或兩個(gè)參數(shù)為 NULL,則比較運(yùn)算的結(jié)果為 NULL。
(2)若同一個(gè)比較運(yùn)算中的兩個(gè)參數(shù)都是字符串,則按照字符串進(jìn)行比較。
(3)若兩個(gè)參數(shù)均為整數(shù),則按照證書進(jìn)行比較。
(4)若一個(gè)字符串和數(shù)字進(jìn)行相等判斷,則 MySQL 可以自動(dòng)將字符串轉(zhuǎn)換為數(shù)字。
安全等于運(yùn)算符(<=>)
操作和 = 基本相同,就是 <=> 可以比較 NULL 值,當(dāng)都是 NULL 的時(shí)候返回1,其中一個(gè)是 NULL 的時(shí)候返回0。

不等于運(yùn)算符(<> 或者 !=)
不能用于 NULL 判斷。

小于/大于等于運(yùn)算符(<=)
不能用于 NULL 判斷。

小于和大于運(yùn)算符同上
IS NULL IS NOT NULL 運(yùn)算符

BETWEEN AND 運(yùn)算符

LEAST 運(yùn)算符
再多參數(shù)的情況下返回最小值,有 NULL 則返回 NULL。

GREATEST(value1,value2,。。。)
再多參數(shù)的情況下返回最大值,有 NULL 則返回 NULL。

IN、NOT IN運(yùn)算符

LIKE
LIKE 匹配條件,滿足條件返回 1,不滿足返回 0。
LIKE 可以用下面兩個(gè)通配符:
(1)‘%’,匹配任何數(shù)目字符。
(2)‘_’,匹配一個(gè)字符。

REGEXP
匹配字符串,可以用以下幾個(gè)通配符:
(1)“^”,匹配以該字符后面的字符開頭的字符串。
(2)“$”,匹配以該字符后面的字符結(jié)尾的字符串。
(3)“.”,匹配任何一個(gè)單字符。
(4)“[...]”,匹配在方括號(hào)內(nèi)的任何字符。
(5)“*”,匹配零個(gè)或多個(gè)在它前面的字符。

邏輯運(yùn)算符

NOT 或者 !

AND 或者 &&

兩個(gè)數(shù)非零,并且不會(huì)空,返回 1 ,有一個(gè)是 0 ,返回 0,有一個(gè)是 null, 返回 null。
OR 或者 ||

XOR

位運(yùn)算符

位或運(yùn)算符(|)

就是轉(zhuǎn)成二進(jìn)制進(jìn)行或運(yùn)算。
還有位與運(yùn)算符(&)、位異或運(yùn)算符(^)、位左移右移運(yùn)算符(<< >>)和位取反操作符(~)都是跟位運(yùn)算是一樣的。就不過(guò)多就少了。
運(yùn)算符的優(yōu)先級(jí)
看下面這張表:
