MySQL中的運算符

MySQL支持多種類型的運算符,這些運算符可以用來連接表達式的項。這些類型主要包括算術運算符、比較運算符、邏輯運算符和位運算符。

一、算術運算符(加、減、乘、除和模運算)

運算符 作用
+ 加法
- 減法
* 乘法
/ 或 DIV 除法,/返回商,帶小數點的,DIV返回整除商(例如:10/4=2.5  ;10 DIV 4 =2)
% 或 MOD 取餘,返回餘數

 在除法運算和模運算中,如果除數爲0,將是非法除數,返回結果爲NULL。

1.加
select 1+2 ;  --返回3

2.減
select 1-2 ;  --返回-1

3.乘
select 1*2 ;  --返回2

4.除
select 1/2 ;  --返回0.5

5.整除
select 10 div 4 ;  --返回2

6.取模
select 10 % 4 ;  --返回2
select 10 mod 4 ;  --返回2

二、比較運算符

SELECT 語句中的條件語句經常要使用比較運算符。通過這些比較運算符,可以判斷表中的哪些記錄是符合條件的。比較結果爲真,則返回 1,爲假則返回 0,比較結果不確定則返回 NULL。

符號 描述 備註
= 等於  
<>, != 不等於  
> 大於  
< 小於  
<= 小於等於  
>= 大於等於  
BETWEEN 在兩值之間 >=min&&<=max
NOT BETWEEN 不在兩值之間  
IN 在集合中  
NOT IN 不在集合中  
<=> 嚴格比較兩個NULL值是否相等

兩個操作碼均爲NULL時,其所得值爲1;

而當一個操作碼爲NULL時,其所得值爲0

LIKE 模糊匹配  
REGEXP 或 RLIKE 正則式匹配  
IS NULL 爲空  
IS NOT NULL 不爲空  
1.等於=
select 2=3;  -- 返回 0
select null=null;  -- 返回null

2.不等於<>或!=
select 2!=3;   -- 返回 1,等效於:
select 2<>3;   -- 返回 1

3.安全等於<=>:當兩個操作碼均爲 NULL 時,其所得值爲 1 ;反之,其所得值爲 0。
select null<=>null;  -- 返回1
select null<=>0;     -- 返回0
select 2<=>3;        -- 返回0
區別於=: select null=null;  返回null

4.小於<、小於等於<=、大於>、大於等於>=
select 2<3;  --返回1
select 2<=3; --返回1
select 2>3;  --返回0
select 2>=3; --返回0

5.存在於指定範圍 between
select 5 between 1 and 10;  -- 返回1

6.存在於指定集合 in  | 不存在於指定集合 not in
select 5 in (1,2,3,4,5);   -- 返回1
select 5 not in (1,2,3,4);   -- 返回1

7.判斷是不是null: is null  及 is not null
select null is NULL;       -- 返回1
select 'a' is NULL;        -- 返回0
select null IS NOT NULL;   -- 返回0
select 'a' IS NOT NULL ;   -- 返回1

8.模糊匹配 like
select '12345' like '12%';   -- 返回1
select '12345' like '12_';   -- 返回0

9.正則表達式
select 'beijing' REGEXP 'jing';   -- 返回1
select 'beijing' REGEXP 'xi';     -- 返回0

 三、邏輯運算符

運算符號 作用
NOT 或 ! 邏輯非
AND 邏輯與
OR 邏輯或
XOR 邏輯異或
1.與 and
select 2 and 0;  -- 返回0

2.或 or
select null  or 1 ;  -- 返回1

3.非 not、!
select not 1;   -- 返回0
select !0;      -- 返回1

4.異或xor
select 1 xor 1;   -- 返回 0
select 1 xor 0;   -- 返回 1
select 1 xor null;   -- 返回 1

四、位運算

運算符號 作用
& 按位與
| 按位或
^ 按位異或
! 取反
<< 左移
>> 右移
1.按位與 &
select 3&5;  -- 返回1

2.按位或 |
select 3|5;  -- 返回7

3.按位異或 ^
select 3^5;  -- 返回6

4.按位取反 ~
select ~18446744073709551612;  -- 返回3
select ~3;  -- 返回4

5.按位右移 >>
select 3>>1;  -- 返回1

6.按位左移 <<
select 3<<1;  -- 返回6

 五、運算符的優先級

最低優先級爲: :=。

最高優先級爲: !、BINARY、 COLLATE。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章