973114 发表于 2017-12-13 16:30:25

MySQL运算符的优先级

  常常发现很多基础的知识才是最重要的,是我们修复Bug的利器。
  #MySQL运算符的优先级
  运算符的优先级决定了不同的运算符在表达式中计算的先后顺序。
  MySQL中所有运算符的优先级的顺序按照从高到低,从上到下,依次降低。一般情况下,级别高的运算符先进行计算,如果级别相同,MySQL按照表达式的顺序从左到右依次计算。
  MySQL运算符的优先级如下:
  

优先级 运算符  

(最高)!  
   -(负号),~(按位取反)
  
   ^(按位异或)
  
   *,/(DIV),%(MOD)
  
   +,-
  
   >>,<<
  
   &
  
   |
  
   =(比较运算),<=>,<,<=,>,>=,!=,<>,IN,IS NULL,LIKE,REGEXP
  
    BETWEEN AND,CASE,WHEN,THEN,ELSE
  
    NOT
  
    &&,AND
  
    XOR
  
    ||,OR
  (最低)    =(赋值运算),:=
  

  我们可以看出,不同运算符的优先级是不同的。在无法确定优先级的情况下,可以使用圆括号()来改变优先级,并且这样会使计算过程更加清晰。
页: [1]
查看完整版本: MySQL运算符的优先级