操作符
操作符名 | 功能描述 |
---|---|
AND , && | 逻辑与 |
= | 赋值(可用于 SET 语句中,或用于 UPDATE 语句的 SET 中) |
:= | 赋值 |
BETWEEN ... AND ... | 判断值满足范围 |
BINARY | 将一个字符串转换为一个二进制字符串 |
& | 位与 |
~ | 位非 |
| | 位或 |
^ | 按位异或 |
CASE | case 操作符 |
DIV | 整数除 |
/ | 除法 |
= | 相等比较 |
<=> | 空值安全型相等比较 |
> | 大于 |
>= | 大于或等于 |
IS | 判断一个值是否等于一个布尔值 |
IS NOT | 判断一个值是否不等于一个布尔值 |
IS NOT NULL | 非空判断 |
IS NULL | 空值判断 |
<< | 左移 |
< | 小于 |
<= | 小于或等于 |
LIKE | 简单模式匹配 |
ILIKE | 大小写不敏感的简单模式匹配(TiDB 支持但 MySQL 不支持) |
- | 减 |
% , MOD | 求余 |
NOT , ! | 取反 |
NOT BETWEEN ... AND ... | 判断值是否不在范围内 |
!= , <> | 不等于 |
NOT LIKE | 不符合简单模式匹配 |
NOT REGEXP | 不符合正则表达式模式匹配 |
||, OR | 逻辑或 |
+ | 加 |
REGEXP | 使用正则表达式进行模式匹配 |
>> | 右移 |
RLIKE | REGEXP 同义词 |
* | 乘 |
- | 取反符号 |
XOR | 逻辑亦或 |
不支持的操作符
操作符优先级
操作符优先级显示在以下列表中,从最高优先级到最低优先级。同一行显示的操作符具有相同的优先级。
INTERVAL
BINARY
!
- (unary minus), ~ (unary bit inversion)
^
*, /, DIV, %, MOD
-, +
<<, >>
&
|
= (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
BETWEEN, CASE, WHEN, THEN, ELSE
NOT
AND, &&
XOR
OR, ||
= (assignment), :=
详情参见这里。
比较方法和操作符
操作符名 | 功能描述 |
---|---|
BETWEEN ... AND ... | 判断值是否在范围内 |
COALESCE() | 返回第一个非空值 |
= | 相等比较 |
<=> | 空值安全型相等比较 |
> | 大于 |
>= | 大于或等于 |
GREATEST() | 返回最大值 |
IN() | 判断值是否在一个值的集合内 |
INTERVAL() | 返回一个小于第一个参数的参数的下标 |
IS | 判断是否等于一个布尔值 |
IS NOT | 判断是否不等于一个布尔值 |
IS NOT NULL | 非空判断 |
IS NULL | 空值判断 |
ISNULL() | 判断参数是否为空 |
LEAST() | 返回最小值 |
< | 小于 |
<= | 小于或等于 |
LIKE | 简单模式匹配 |
ILIKE | 大小写不敏感的简单模式匹配(TiDB 支持但 MySQL 不支持) |
NOT BETWEEN ... AND ... | 判断值是否不在范围内 |
!= , <> | 不等于 |
NOT IN() | 判断值是否不在一个值的集合内 |
NOT LIKE | 不满足简单模式匹配 |
STRCMP() | 比较两个字符串 |
详情参见这里。
逻辑操作符
操作符名 | 功能描述 |
---|---|
AND , && | 逻辑与 |
NOT , ! | 逻辑非 |
||, OR | 逻辑或 |
XOR | 逻辑异或 |
详情参见这里。
赋值操作符
操作符名 | 功能描述 |
---|---|
= | 赋值(可用于 SET 语句中,或用于 UPDATE 语句的 SET 中) |
:= | 赋值 |
详情参见这里。
MySQL 兼容性
- MySQL 不支持
ILIKE
操作符。