当 Entity SQL 查询有多个运算符时,运算符优先级确定执行运算的先后次序。 执行顺序可能对查询结果有明显的影响。
运算符的优先级别如下表中所示。 先对较高级别的运算符求值,然后对较低级别的运算符求值。
| 级别 | 运算类型 | 运算符 |
|---|---|---|
1 |
基本 |
|
2 |
一元 |
|
3 |
乘法 |
|
4 |
加法 |
|
5 |
排序 |
|
6 |
相等 |
|
7 |
条件“与” |
|
8 |
条件“或” |
|
当一个表达式中的两个运算符有相同的运算符优先级别时,将按照它们在查询中的位置对其从左到右进行求值。 例如x+y-z的求值顺序等同于 (x+y)-z。
在查询中可以使用括号替代所定义的运算符的优先级。 首先对括号中的内容进行求值,从而产生一个结果,然后括号外的运算符才可以使用这个结果。 例如x+y*z先将y与z相乘,然后加上 x,但(x+y)*z先将x与y相加,然后将结果与 z 相乘。