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);

在这里插入图片描述

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