Skip to content

Latest commit

 

History

History
135 lines (116 loc) · 10.4 KB

operators.md

File metadata and controls

135 lines (116 loc) · 10.4 KB
title aliases summary
操作符
/docs-cn/dev/functions-and-operators/operators/
/docs-cn/dev/reference/sql/functions-and-operators/operators/
操作符是用于在 MySQL 中执行各种操作的关键元素。它们包括逻辑操作符(如 AND、OR、NOT、XOR)、赋值操作符(如 =、:=)、比较操作符(如 =、<、>、LIKE、BETWEEN)、以及其他操作符(如 +、-、*、/)。操作符具有不同的优先级,可以用于执行各种复杂的操作。需要注意的是,MySQL 不支持 ILIKE 操作符。

操作符

操作符名 功能描述
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 操作符。