我在SQL查詢中使用了加法'+',乘法'*'和除法'/'運算符。 它的執行順序是什麼?SQL查詢中除法,乘法,減法的執行順序
查詢
Select A * (B) - C * 100/(D-E) From Table
我在SQL查詢中使用了加法'+',乘法'*'和除法'/'運算符。 它的執行順序是什麼?SQL查詢中除法,乘法,減法的執行順序
查詢
Select A * (B) - C * 100/(D-E) From Table
與任何其他...基於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)
除非無法正常工作:'select 30/3/5;選擇30/3/-5;選擇30/-3/5' – HABO
請看下面鏈接
http://msdn.microsoft.com/en-us/library/ms190276.aspx
它似乎很明顯,如果兩個運營商都相同的優先順序,然後在左邊的表達將獲得更多的優先權。此外,括號內的表達式將獲得最高優先權
在您的情況下(D -E)將首先被評估。那麼它將成爲A *(B)的左邊。然後它將是C * 100.然後它將被劃分並且最後將被減去。
讓我知道我是否正確
看起來像一個考試問題。 [T-SQL運算符優先級...](http://msdn.microsoft.com/zh-cn/library/ms190276.aspx) –