算术运算符 | 说明 |
---|---|
+ | 加法运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算,返回商 |
% | 求余运算,返回余数 |
比较运算符 | 说明 |
---|---|
= | 等于 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
<=> | 安全的等于,不会返回 UNKNOWN |
<> 或!= | 不等于 |
IS NULL 或 ISNULL | 判断一个值是否为 NULL |
IS NOT NULL | 判断一个值是否不为 NULL |
LEAST | 当有两个或多个参数时,返回最小值 |
GREATEST | 当有两个或多个参数时,返回最大值 |
BETWEEN AND | 判断一个值是否落在两个值之间 |
IN | 判断一个值是IN列表中的任意一个值 |
NOT IN | 判断一个值不是IN列表中的任意一个值 |
LIKE | 通配符匹配 |
REGEXP | 正则表达式匹配 |
select ‘he‘=null;# 只要有一个表达式的值为null,则返回结果为null select 2>‘1‘; # 若一个字符串和数字进行相等判断,则 MySQL 可以自动将字符串转换成数字。
select null<=>null; # 当两个表达式彼此相等或都等于空值时,比较结果为 TRUE; select 2<=>null; #若其中一个是空值或者都是非空值但不相等时,则为 FALSE
select 1 is null; select info is null from Teacher;
select 1 is not null; select info is not null from Teacher;
between and:用于判断表达式是否在一个闭区间中,如果值在区间中,返回值为 1;否则返回值为 0
语法格式为:表达式 BETWEEN 最小值 AND 最大值
select 9 between 0 and 9; #返回值为1 select ‘hello‘ between 0 and 9; #则 MySQL 可以自动将字符串转换成数字,返回值为1
语法格式:least(值1,值2,…,值n) select least(11,2,4,6); # 返回值为2 select least(11,2,4,6,null);# 返回值为null select least(11,2,4,6,‘z‘); # 返回值为0
语法格式:greatest(值1,值2,…,值n) select greatest(11,2,4,6); # 返回值为11 select greatest(11,2,4,6,null);# 返回值为null select greatest(11,2,4,6,‘z‘); # 返回值为11
语法格式:表达式 in(值1,值2,…,值n) select 8 in(1,2,3,4,5,6,‘hello‘); #返回值为0 select 8 in(1,2,3,4,5,6,‘8‘); #返回值为1
select 8 not in(1,2,3,4,5,6,‘hello‘); #返回值为1 select 8 not in(1,2,3,4,5,6,‘8‘); #返回值为0
逻辑运算符 | 说明 |
---|---|
NOT 或者 ! | 逻辑非 |
AND 或者 && | 逻辑与 |
OR 或者 || | 逻辑或 |
XOR | 逻辑异或 |
select not 3; # 返回值是0 select not id from Teacher; select not 0; # 返回值是1 select not null;# 返回值是null
select 5 and 2; # 返回值是1 select 5 and 0; # 返回值是0 select 0 and null; # 返回值是0 select 1 and null; # 返回值是null
select 1 or 0; # 返回值是1 select 3 or null; # 返回值是1 select 0 or null; # 返回值是null
select 6 xor null; # 返回值是null select 0 xor 0; # 返回值是0 select 1 xor 0; # 返回值是1
位运算符 | 说明 |
---|---|
| | 按位或 |
& | 按位与 |
^ | 按位异或 |
<< | 按位左移 |
>> | 按位右移 |
~ | 按位取反,反转所有比特 |
select 4|3; # 返回值是7
select 3&4;
select 1 ^3;
//语法格式:表达式<< n //语法解释:n 指定值要移位的位数 select 8<<2; # 返回值为32
语法格式:表达式>> n 语法解释:n 指定值要移位的位数 select 8<<2; # 返回值为2
select ~3;
运算符的优先级别决定了运算符在表达式中运算的先后顺序
下表列出了 MySQL 中的各类运算符及其优先级
优先级由低到高排列 | 运算符 |
---|---|
1 | =(赋值运算)、:= |
2 | II、OR |
3 | XOR |
4 | &&、AND |
5 | NOT |
6 | BETWEEN、CASE、WHEN、THEN、ELSE |
7 | =(比较运算)、<=>、>=、>、<=、<、<>、!=、 IS、LIKE、REGEXP、IN |
8 | | |
9 | & |
10 | <<、>> |
11 | -(减号)、+ |
12 | *、/、% |
13 | ^ |
14 | -(负号)、?(位反转) |
15 | ! |
原文:https://www.cnblogs.com/WeiKing/p/12214525.html