MySQL 8.0发布说明
MySQL 8.0源码文档10bet官方网站
操作符优先级显示在下面的列表中,从最高优先级到最低优先级。一起显示在一行上的运算符具有相同的优先级。
间隔二进制,整理!- (一元减去),〜(Unary Bit反演)^ *,/,div,%,mod - ,+ <<,>>=(比较),<=>,> =,>,<=,<,<>,!=,就像,regexp,in,measure,case,何时,否则,否则,&& xor或,||=(赋值),:=
的优先级=
取决于它是否用作比较运算符(=
)或作为赋值操作符(=
)。当用作比较运算符时,它的优先级与< = >
,> =
,>
,< =
,<
,<>
,! =
,是
,喜欢
,正则表达式
, 和在()
。当用作分配运算符时,它具有相同的优先级: =
。第13.7.6.1节“可变分配的SECTAX”, 和第9.4节,“用户自定义变量”,解释MySQL如何决定的解释=
应该适用。
对于出现在表达式中相同优先级的操作符,求值从左到右进行,但赋值从右到左计算除外。
一些操作符的优先级和意义取决于SQL模式:
默认情况下,
||
是一个逻辑或者
操作符。与pipes_as_concat.
启用,||
字符串连接,具有优先级之间^
还有一元运算符。默认情况下,
!
比?有更高的优先权不
。与HIGH_NOT_PRECEDENCE
启用,!
和不
有相同的优先权。
运算符的优先级决定了表达式中项的求值顺序。若要显式覆盖此顺序和组术语,请使用圆括号。例如:
mysql >选择1 + 2 * 3;mysql> SELECT (1+2)*3;- > 9