MySQL中的運算符

1. 算術運算符

MySQL支持的算術運算符

運算符 作用
+ 加法
減法
* 乘法
/ , DIV 除法,返回商
% , MOD 除法,返回餘數
SELECT 0.1+0.333, 0.1-0.333, 0.1*0.333, 1/2, 1%2;

在這裏插入圖片描述

  • " + "運算符用於獲得一個或多個值的和.
  • " - "運算符用於從一個值中減去另一個值.
  • " * "運算符使數字相乘,得到兩個或多個值的乘積.
  • " / "運算符用一個值除以另一個值得到商.
  • " % "運算符用一個值除以另外一個值得到餘數.
    在除法運算和模運算中,如果除數爲0,將是非法除數,返回結果爲NULL
    " / " 會返回計算計算結果, " DIV " 返回的則是整數商;
    a%b和MOD(a,b)的表達結果一樣.
SELECT 8 / 5 , 8 DIV 5,1 % 2,MOD(1,2);

在這裏插入圖片描述

2.比較運算符

運算符 作用
= 等於
<>或!= 不等於
<=> NULL安全的等於(NULL-safe)
< 小於
<= 小於等於
> 大於
>= 大於等於
BETWEEN 存在指定範圍
IN 存在指定集合
IS NULL 爲NULL
IS NOT NULL 不爲NULL
LIKE 通配符匹配
REGEXP 或 RLIKE 正則表達式匹配
  • "="運算符,用於比較運算符兩側的操作數是否相等,如果兩側操作數相等,則返回值爲1,否則爲0.注意NULL不能用於"="比較.
SELECT 1=0, 1=1, NULL=NULL;

在這裏插入圖片描述

  • "<>"運算符,和"=“相反,如果兩側操作數不相等,則值爲1,否則爲0,NULL不能用於”<>"比較;
SELECT 1<>0, 1<>1, NULL<>NULL;

在這裏插入圖片描述

  • "<=>"運算符,和"="類似,在操作數相等時值爲1,不同之處在於即使操作的值爲NULL也可以正確的比較.
SELECT 1<=>0, 1<=>1, NULL<=>NULL;

在這裏插入圖片描述

  • "<"運算符,當左側操作數小於右側操作數時,返回值爲1,否則爲0.
SELECT 'c'<'d','c'<'a',1<1,1<2;

在這裏插入圖片描述

  • "<="運算符,當左側操作數小於等於右側操作數時,返回值爲1,否則爲0.
SELECT 'c'<='d','c'<='a',1<=1,1<=2;

在這裏插入圖片描述

  • ">"運算符,當左側操作數大於右側操作數時,返回值爲1,否則爲0.
SELECT 'c'>'d','c'>'a',1>1,1>2;

在這裏插入圖片描述

  • ">="運算符,當左側操作數大於等於右側操作數時,返回值爲1,否則爲0.
SELECT 'c'>='d','c'>='a',1>=1,1>=2;

在這裏插入圖片描述

  • "BETWEEN"運算符的使用格式爲"a BETWEEN min AND max",當a大於等於min並且小於等於max,則返回值爲1,否則爲0;當操作數a,min,max類型相同時,此表達式等價於(a >= min AND a <= max),當操作數類型不同時,比較時會遵循類型轉換原則進行轉換後,再進行比較運算.
SELECT 10 BETWEEN 10 AND 20, 9 BETWEEN 10 AND 20;

在這裏插入圖片描述

  • "IN"運算符的使用格式爲"a IN(value1 , value2,…)",當a的值存在於列表中時,則整個比較表達式返回的值爲1,否則爲0.
SELECT 'a' IN ('a','b','c'), 1 IN (0,1,2), 0 IN (1,2);

在這裏插入圖片描述

  • "IS NULL"運算符的使用格式爲"a IS NULL",當a的值爲NULL時,則返回值1,否則返回0.
SELECT 0 IS NULL, NULL IS NULL;

在這裏插入圖片描述

  • "IS NOT NULL"運算符的使用格式爲"a IS NOT NULL",和"IS NULL"相反,當a的值爲不爲NULL時,則返回值1,否則返回0.
SELECT 0 IS NOT NULL, NULL IS NOT NULL

在這裏插入圖片描述

  • "LIKE"運算符的使用格式爲"a LIKE ‘%123%’ " ,當a中含有字符串"123"時,則返回值爲1,否則爲0.
SELECT 123456 LIKE '123%', 123456 LIKE '%123%',123456 LIKE '%321%';

在這裏插入圖片描述

  • "REGEXP"運算符的使用格式爲"str REGEXP str_pat",當str字符串中含有str_pat相匹配的字符串時,則返回值爲1,否則爲0.
SELECT 'abcdef' REGEXP 'ab','abcdef' REGEXP 'xy';

在這裏插入圖片描述

3. 邏輯運算符

運算符 作用
NOT 或 ! 邏輯非
AND 或 && 邏輯與
OR 或 || 邏輯或
XOR 邏輯異或
  • **NOT 或 !**表示邏輯非,返回和操作數相反的結果:當操作數爲0(假),則返回值爲1,否則爲0.但有一個點除外,那就是NOT NULL的返回值爲NULL.
SELECT NOT 0,NOT 1, NOT NULL;

在這裏插入圖片描述

  • **AND 或 &&**表示邏輯與運算,當所有的操作數均爲非0值,並且不爲NULL時,計算所得結果爲1;當一個或多個操作數爲0時,所得結果爲0;
SELECT 0 AND 0,0 AND 1,1 AND 1, 1 AND NULL,0 AND NULL, NULL AND 0,NULL AND 1;

在這裏插入圖片描述

  • **OR 或 ||**表示邏輯或運算.當所有操作數均爲非NULL值時,如果有任意一個操作數爲非零值,則結果爲1,否則爲0,當有一個操作數爲NULL時,如果另一個操作數爲非零值,則結果爲1,否則結果爲NULL;假如兩個操作數均爲NULL,則所得結果爲NULL.
SELECT (1 OR 0),(0 OR 0),(1 OR NULL),(0 OR NULL),(1 OR 1),(NULL OR NULL);

在這裏插入圖片描述

  • XOR表示邏輯異或,當任意一個操作數爲NULL時,返回值爲NULL;對於非NULL的操作數,如果兩個的邏輯真假值相異,則返回結果爲1,否則返回0,
SELECT (1 XOR 0),(0 XOR 0),(1 XOR NULL),(0 XOR NULL),(1 XOR 1),(NULL XOR NULL);

在這裏插入圖片描述

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