Operators
本文档描述了运算符的优先级、比较函数和运算符、逻辑运算符以及赋值运算符。
| Name | Description |
|---|---|
| AND, && | 逻辑与 |
| = | 赋值(作为 SET 语句的一部分,或作为 UPDATE 语句中的 SET 子句的一部分) |
| := | 赋值 |
| BETWEEN ... AND ... | 检查一个值是否在某个范围内 |
| BINARY | 将字符串转换为二进制字符串 |
| &[https://dev.mysql.com/doc/refman/8.0/en/bit-functions.html#operator_bitwise-and] | 位与 |
| ~ | 位取反 |
| | | 位或 |
| ^ | 位异或 |
| CASE | 条件表达式 |
| DIV | 整数除法 |
| / | 除法运算符 |
| = | 等于运算符 |
<=> | NULL 安全相等运算符 |
| > | 大于运算符 |
| >= | 大于等于运算符 |
| IS | 测试值是否为布尔值 |
| IS NOT | 测试值是否为布尔值 |
| IS NOT NULL | NOT NULL 值测试 |
| IS NULL | NULL 值测试 |
| -> | 评估路径后返回 JSON 列的值;等同于 JSON_EXTRACT() |
| ->> | 评估路径后返回 JSON 列的值并去除引号;等同于 JSON_UNQUOTE(JSON_EXTRACT()) |
| << | 左移 |
| < | 小于运算符 |
| <= | 小于等于运算符 |
| LIKE | 简单模式匹配 |
| ILIKE | 支持大小写不敏感的简单模式匹配(在 TiDB 中支持,但在 MySQL 中不支持) |
| - | 减法运算符 |
| %, MOD | 取模运算符 |
| NOT, ! | 取反值 |
| NOT BETWEEN ... AND ... | 检查一个值是否不在某个范围内 |
!=, <> | 不等于运算符 |
| NOT LIKE | 不匹配简单模式的否定 |
| NOT REGEXP | REGEXP 的否定 |
| ||, OR | 逻辑或 |
| + | 加法运算符 |
| REGEXP | 使用正则表达式进行模式匹配 |
| >> | 右移 |
| RLIKE | REGEXP 的同义词 |
| * | 乘法运算符 |
| - | 改变参数的符号 |
| XOR | 逻辑异或 |
Unsupported operators
Operator precedence
运算符优先级由高到低列出。同行显示的运算符具有相同的优先级。
INTERVAL
BINARY, COLLATE
!
- (一元减号), ~ (一元位取反)
^
*, /, DIV, %, MOD
-, +
<<, >>
&
|
= (比较), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
BETWEEN, CASE, WHEN, THEN, ELSE
NOT
AND, &&
XOR
OR, ||
= (赋值), :=
详细信息请参见 Operator Precedence。
Comparison functions and operators
| Name | Description |
|---|---|
| BETWEEN ... AND ... | 检查一个值是否在某个范围内 |
| COALESCE() | 返回第一个非 NULL 的参数 |
| = | 等于运算符 |
<=> | NULL 安全相等运算符 |
| > | 大于运算符 |
| >= | 大于等于运算符 |
| GREATEST() | 返回最大值 |
| IN() | 检查一个值是否在某个集合内 |
| INTERVAL() | 返回第一个参数小于的索引值 |
| IS | 测试值是否为布尔值 |
| IS NOT | 测试值是否为布尔值 |
| IS NOT NULL | NOT NULL 值测试 |
| IS NULL | NULL 值测试 |
| ISNULL() | 测试参数是否为 NULL |
| LEAST() | 返回最小值 |
| < | 小于运算符 |
| <= | 小于等于运算符 |
| LIKE | 简单模式匹配 |
| ILIKE | 支持大小写不敏感的简单模式匹配(在 TiDB 中支持,但在 MySQL 中不支持) |
| NOT BETWEEN ... AND ... | 检查一个值是否不在某个范围内 |
!=, <> | 不等于运算符 |
| NOT IN() | 检查一个值是否不在某个集合内 |
| NOT LIKE | 不匹配简单模式的否定 |
| STRCMP() | 比较两个字符串 |
详细信息请参见 Comparison Functions and Operators。
Logical operators
| Name | Description |
|---|---|
| AND, && | 逻辑与 |
| NOT, ! | 取反值 |
| ||, OR | 逻辑或 |
| XOR | 逻辑异或 |
详细信息请参见 MySQL Handling of GROUP BY。
Assignment operators
| Name | Description |
|---|---|
| = | 赋值(作为 SET 语句的一部分,或作为 UPDATE 语句中的 SET 子句的一部分) |
| := | 赋值 |
详细信息请参见 Detection of Functional Dependence。
MySQL compatibility
- MySQL 不支持
ILIKE运算符。