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
运算符。