这个oracle算术运算符如何执行

时间:2016-10-30 16:06:11

标签: oracle math

我需要知道下面的sql查询如何执行

选择last_name,薪水,工资+员工奖金300增加

它给出了以下输出

姓名薪资薪资-100 * 12

King 24000 22800

根据我的说法,它应首先考虑Divison和乘法。请解释

1 个答案:

答案 0 :(得分:0)

它确实优先考虑divison和multiplication"。文档covers operator precedence

  

Table 4-1列出了SQL运算符从高到低的优先级。在同一行上列出的运算符具有相同的优先级。

     

表4-1 SQL运算符优先级

Operator                                           Operation  
+, - (as unary operators), PRIOR, CONNECT_BY_ROOT  Identity, negation, location in hierarchy  
*, /                                               Multiplication, division  
+, - (as binary operators), ||                     Addition, subtraction, concatenation

所以计算:

salary-100*12
通过在减法之前应用乘法来评估

;或者更明确地说:

salary-(100*12)

只是

salary-1200