我在SQL查询中使用了加法'+',乘法'*'和除'''运算符。 它的执行顺序是什么?
查询
Select A * (B) - C * 100 / (D-E) From Table
答案 0 :(得分:3)
与其他任何相同......基于PEMDAS
Parenthesis
Exponents
Multiply
and
Divide at same level, left to right
Add
and
Subtract at same level left to right.
(D-E) is done first
(B) is done next, but is left as-is as no other direct relation
A * B
C * 100
then
(result of C * 100) / (D - E result)
(A * B result ) - ( entire C * 100 / (D-E) result)
答案 1 :(得分:0)
请看下面的链接
http://msdn.microsoft.com/en-us/library/ms190276.aspx
似乎很明显,如果两个运算符具有相同的presedence,那么左边的表达式将获得更多优先级。括号内的表达式也将获得最高的优先级
在您的情况下(D -E)将首先进行评估。那么左边是A *(B)。然后它将是C * 100.然后它将是除法,最后将是减法。
让我知道我是否正确