操作符
| 操作符名 | 功能描述 |
|---|---|
| AND, && | 逻辑与 |
| = | 赋值(可用于 SET 语句中,或用于 UPDATE 语句的 SET 中) |
| := | 赋值 |
| BETWEEN … AND … | 判断值满足范围 |
| BINARY | 将一个字符串转换为一个二进制字符串 |
| & | 位与 |
| ~ | 位非 |
| [ | ](https://dev.mysql.com/doc/refman/8.0/en/bit-functions.html#operator_bitwise-or) |
| ^ | 按位异或 |
| CASE | case 操作符 |
| DIV | 整数除 |
| / | 除法 |
| = | 相等比较 |
| <=> | 空值安全型相等比较 |
| > | 大于 |
| >= | 大于或等于 |
| IS | 判断一个值是否等于一个布尔值 |
| IS NOT | 判断一个值是否不等于一个布尔值 |
| IS NOT NULL | 非空判断 |
| IS NULL | 空值判断 |
| << | 左移 |
| < | 小于 |
| <= | 小于或等于 |
| LIKE | 简单模式匹配 |
| ILIKE | 大小写不敏感的简单模式匹配(TiDB 支持但 MySQL 不支持) |
| - | 减 |
| %, MOD | 求余 |
| NOT, ! | 取反 |
| NOT BETWEEN … AND … | 判断值是否不在范围内 |
| !=, <> | 不等于 |
| NOT LIKE | 不符合简单模式匹配 |
| NOT REGEXP | 不符合正则表达式模式匹配 |
| [ | |
| + | 加 |
| REGEXP | 使用正则表达式进行模式匹配 |
| >> | 右移 |
| RLIKE | REGEXP 同义词 |
| * | 乘 |
| - | 取反符号 |
| XOR | 逻辑亦或 |
不支持的操作符
操作符优先级
操作符优先级显示在以下列表中,从最高优先级到最低优先级。同一行显示的操作符具有相同的优先级。
1. INTERVAL
2. BINARY
3. !
4. - (unary minus), ~ (unary bit inversion)
5. ^
6. *, /, DIV, %, MOD
7. -, +
8. <<, >>
9. &
10. |
11. = (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
12. BETWEEN, CASE, WHEN, THEN, ELSE
13. NOT
14. AND, &&
15. XOR
16. OR, ||
17. = (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, ! | 逻辑非 |
| [ | |
| XOR | 逻辑异或 |
详情参见这里。
赋值操作符
| 操作符名 | 功能描述 |
|---|---|
| = | 赋值(可用于 SET 语句中,或用于 UPDATE 语句的 SET 中) |
| := | 赋值 |
详情参见这里。
MySQL 兼容性
- MySQL 不支持
ILIKE操作符。
