更新时间:2025-09-12 GMT+08:00
分享

操作符概述

操作符用于连接操作数或参数并返回结果。从语法上讲,运算符可以出现在操作数之前、操作数之后或两个操作数之间,因此,操作符可以分为一元运算符和二元运算符。

  • 一元运算符
    运算符 操作数
  • 二元运算符
    操作数1 运算符 操作数2

M-Compatibility模式下当前支持操作符及各操作符的简短说明如表1所示。

表1 操作符描述

操作类型

操作符名称

操作数类型

描述

逻辑操作

NOT (!)

一元

逻辑非。

AND(&&)

二元

逻辑与。

OR(||)

二元

逻辑或。

XOR

二元

逻辑异或。

位操作

&

二元

按位与。

|

二元

按位或。

^

二元

按位异或。

<<

二元

左移。

>>

二元

右移。

~

一元

按位非。

模式匹配

[NOT] LIKE

二元

简单模式匹配。

比较操作

<

二元

小于。

>

二元

大于。

<=

二元

小于或等于。

>=

二元

大于或等于。

=

二元

等于。

<>或!=

二元

不等于。

<=>

二元

NULL安全等于。

[NOT] BETWEEN AND

三元

判断操作数1是否大于等于操作数2且小于等于操作数3。

IS

二元

判断是否与布尔值等价。

IS NOT

二元

判断是否与布尔值不等价(IS的否定)。

IS NOT NULL

一元(操作数 运算符)

判断是否非NULL。

IS NULL

一元(操作数 运算符)

判断是否为NULL。

算术操作

+

一元/二元

一元表示正数,二元表示加法。

-

一元/二元

一元表示负数,二元表示减法。

*

二元

乘法操作符。

/

二元

除法操作符。

%或MOD

二元

整数除法,返回余数。

DIV

二元

整数除法,返回商值。

类型转换

BINARY

一元

转换为BINARY类型。

操作符支持的数据类型

表2 数据类型

类型分类

类型

布尔类型

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

表3 操作符优先级列表

结合性

符号

left

OR

left

XOR

left

AND

right

NOT

right

=

nonassoc

<、>、>=、<=

nonassoc

LIKE

nonassoc

BETWEEN

nonassoc

IN

left

|

left

&

left

<<、>>

left

+、-

left

* 、/ 、%、DIV、MOD

left

^

left

~

right

!

相关文档