操作符概述
操作符用于连接操作数或参数并返回结果。从语法上讲,运算符可以出现在操作数之前、操作数之后或两个操作数之间,因此,操作符可以分为一元运算符和二元运算符。
- 一元运算符
运算符 操作数
- 二元运算符
操作数1 运算符 操作数2
M-Compatibility模式下当前支持操作符及各操作符的说明如表1所示。
操作类型 | 操作符名称 | 操作数类型 | 描述 |
|---|---|---|---|
逻辑操作 | NOT (!) | 一元 | 逻辑非。 |
AND(&&) | 二元 | 逻辑与。 | |
OR(||) | 二元 | 逻辑或。 | |
XOR | 二元 | 逻辑异或。 | |
位操作 | & | 二元 | 按位与。 |
| | 二元 | 按位或。 | |
^ | 二元 | 按位异或。 | |
<< | 二元 | 左移。 | |
>> | 二元 | 右移。 | |
~ | 一元 | 按位非。 | |
模式匹配 | [NOT] LIKE | 二元 | 简单模式匹配。 |
比较操作 | < | 二元 | 小于。 |
> | 二元 | 大于。 | |
<= | 二元 | 小于或等于。 | |
>= | 二元 | 大于或等于。 | |
= | 二元 | 等于。 | |
<>或!= | 二元 | 不等于。 | |
<=> | 二元 | NULL安全等于。 | |
IS | 二元 | 判断是否与布尔值等价。 | |
IS NOT | 二元 | 判断是否与布尔值不等价(IS的否定)。 | |
IS NOT NULL | 一元(操作数 运算符) | 判断是否非NULL。 | |
IS NULL | 一元(操作数 运算符) | 判断是否为NULL。 | |
算术操作 | + | 一元/二元 | 一元表示正数,二元表示加法。 |
- | 一元/二元 | 一元表示负数,二元表示减法。 | |
* | 二元 | 乘法操作符。 | |
/ | 二元 | 除法操作符。 | |
%或MOD | 二元 | 整数除法,返回余数。 | |
DIV | 二元 | 整数除法,返回商值。 |
操作符支持的数据类型
类型分类 | 类型 |
|---|---|
BOOLEAN/BOOL | |
BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB | |
CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT | |
DATE、TIME、TIMESTAMP、DATETIME、YEAR | |
BIT | |
TINYINT、SMALLINT、MEDIUMINT、INT/INTEGER、BIGINT、NUMERIC/DECIMAL、DEC、FIXED、FLOAT、FLOAT4、FLOAT8、DOUBLE、TINYINT UNSIGNED、SMALLINT UNSIGNED、MEDIUMINT UNSIGNED、INT/INTEGER UNSIGNED、BIGINT UNSIGNED |
数据类型具体请参见数据类型。
操作符优先级
运算符从优先级从上到下越来越高,同一行上的运算符具有相同的优先级,如表3所示。

