10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 从本手册中摘录

12.4.1运算符优先级

操作符优先级显示在下面的列表中,从最高优先级到最低优先级。一起显示在一行上的运算符具有相同的优先级。

间隔二进制,整理!- (一元减去),〜(Unary Bit反演)^ *,/,div,%,mod  - ,+ <<,>>=(比较),<=>,> =,>,<=,<,<>,!=,就像,regexp,in,measure,case,何时,否则,否则,&& xor或,||=(赋值),:=

的优先级=取决于它是否用作比较运算符(=)或作为赋值操作符(=)。当用作比较运算符时,它的优先级与< = >,> =,>,< =,<,<>,! =,,喜欢,正则表达式, 和在()。当用作分配运算符时,它具有相同的优先级: =第13.7.6.1节“可变分配的SECTAX”, 和第9.4节,“用户自定义变量”,解释MySQL如何决定的解释=应该适用。

对于出现在表达式中相同优先级的操作符,求值从左到右进行,但赋值从右到左计算除外。

一些操作符的优先级和意义取决于SQL模式:

  • 默认情况下,||是一个逻辑或者操作符。与pipes_as_concat.启用,||字符串连接,具有优先级之间^还有一元运算符。

  • 默认情况下,!比?有更高的优先权。与HIGH_NOT_PRECEDENCE启用,!有相同的优先权。

看到第5.1.11节,“服务器SQL模式”

运算符的优先级决定了表达式中项的求值顺序。若要显式覆盖此顺序和组术语,请使用圆括号。例如:

mysql >选择1 + 2 * 3;mysql> SELECT (1+2)*3;- > 9