四:MySQL中的運算符 - 系統的擼一遍MySQL

MySQL支持許多整理的運算符,其中主要包括如下幾類:算數運算符、比較運算符、邏輯運算符、位運算符。html

算數運算符

運算符 做用
+ 加法
- 減法
* 乘法
/ 或 DIV 除法
% 或 MOD 取餘

示例:mysql

//數字之間和數字與NULL之間的運算
select
	1 + 1,
	1 + null,
	10 - 1,
	10 - null,
	10 * 2,
	10 * null, 
	10 / 1, 
	10 / 0, 
	10 / null, 
	10 % 3, 
	10 % null;

運算結果sql

與NULL作運算結果都爲NULL,除法和求模計算除數不能夠爲0,不然返回NULL。安全

比較運算符

運算符 做用
= 等於
<> 或 ! 不等於
<==> NULL安全的等於
< 小於
<= 小於等於
> 大於
>= 大於等於
BETWEEN 計算指定範圍
IN 存在某集合
IS NULL 和 IS NOT NULL 是否爲NULL

示例:spa

//各類運算符 之間但比較 和 與 NULL值比較的結果
SELECT 
	1 = 0,
	1 = 1,
	'a' = 'a',
	'a' = 65,
	0 = null,
	1 > null,
	1 > 10,
	1 > 0,
	1 < null,
	1 IN (1, 2, 3),
	null IN (1, 2, 3),
	null IN (1, 2, 3, 0),
	null IN (1, 2, 3, 0, null),
	1 IS NULL,
	null IS NULL,
	10 BETWEEN 10 AND 20,
	10 BETWEEN null AND 20,
	null BETWEEN 10 AND 20,
	null BETWEEN 0 AND 20

結果code

與NULL作運算的時候反悔結果爲NULL,同時NULL在作IN運算的時候也會返回NULL,使用 字符 與 數字進行比較的時候 返回結果 0 可是會觸發一個warnning;regexp

邏輯運算符

運算符號 做用
NOT 或 ! 邏輯非
AND 邏輯與
OR 邏輯或
XOR 邏輯異或

示例htm

select
 	1 and 1,
 	1 and 0,
 	0 and 0,
 	1 and 1,
 	1 and null,
 	null and 1,
 	0 and null,
 	null and 0,
 	null and null,
 	1 or 0,
 	0 or 1,
 	0 or 0,
 	1 or 1,
 	null or 0,
 	null or 1,
 	null xor 1,
 	null xor 0,
 	1 xor 1,
 	1 xor 0,
 	NOT NULL,
 	NOT 1,
 	NOT 0\G

結果ci

AND與null進行運算返回結果爲null,OR與null運算除非另外一個爲非0,不然爲null,NOT與null計算結果也爲nullget

位運算符

運算符號 做用
& 按位與
| 按位或
^ 按位異或
! 取反
<< 左移
>> 右移

MySQL的位運算與C中的位運算同樣,因此不作記錄。

其餘運算符

運算符 做用
LIKE 進行模糊匹配
REGEXP 或 RLIKE 進行正則匹配

關於正則匹配相關的能夠查看MySQL官方手冊,傳送門:MySQL Regular Expressions

相關文章
相關標籤/搜索