sql查询中除,乘,减的执行顺序

时间:2012-12-21 21:14:02

标签: sql sql-server

我在SQL查询中使用了加法'+',乘法'*'和除'''运算符。 它的执行顺序是什么?

查询

Select A * (B) - C * 100 / (D-E) From Table

2 个答案:

答案 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.然后它将是除法,最后将是减法。

让我知道我是否正确