運算子優先順序 (Entity SQL)
Entity SQL 查詢有多個運算子時,運算子優先順序會決定作業執行的順序。 執行的順序對於查詢結果有很大的影響。
下表顯示運算子的優先順序層級。 先評估層級較高的運算子,再評估層級較低的運算子。
層級 | 作業類型 | 運算子 |
---|---|---|
1 | 主要 | . , [] () |
2 | 一元 | ! not |
3 | 乘法 | * / % |
4 | 加法 | + - |
5 | 排序 | < > <= >= |
6 | Equality | = != <> |
7 | 條件式 AND | and && |
8 | 條件式 OR | or || |
當運算式中的兩個運算子有相同的運算子優先順序層級時,會依據它們在查詢中的位置,由左至右來評估它們。 例如,x+y-z
會判斷值為 (x+y)-z
。
您可以使用括號來覆寫查詢中已定義的運算子優先順序。 括號內的所有內容都會先評估得出單一結果,之後,括號外的任何運算子便可以使用這個結果。 例如,x+y*z
乘以 y
乘以 z
,然後加上 x
,但 (x+y)*z
會將 x
與 y
相加,然後將結果乘以 z
。