Freigeben über


Operatorrangfolge (Entity SQL)

Wenn in einer Entity SQL-Abfrage mehrere Operatoren vorkommen, bestimmt die Operatorrangfolge die Reihenfolge, in der die einzelnen Operationen durchgeführt werden. Die Ausführungsreihenfolge kann sich entscheidend auf das Abfrageergebnis auswirken.

Operatoren besitzen die in der folgenden Tabelle dargestellte Rangfolge. Ein Operator, der höher in der Rangfolge steht, wird vor einem Operator niedrigeren Ranges ausgewertet.

Rang Operationstyp Operator

1

Primär

. , [] ()

2

Unär

! not

3

Multiplikativ

* / %

4

Additiv

+ -

5

Reihenfolge

< > <= >=

6

Gleichheit

= != <>

7

Bedingtes AND

and &&

8

Bedingtes OR

or ||

Verfügen zwei Operatoren in einem Ausdruck über die gleiche Rangstufe, werden sie von links nach rechts, ausgehend von ihrer Position innerhalb der Abfrage, ausgewertet. x+y-z wird beispielsweise als (x+y)-z ausgewertet.

Mit Klammern kann die definierte Rangfolge von Operatoren in einer Abfrage außer Kraft gesetzt werden. Die Operatoren innerhalb der Klammern werden zuerst ausgewertet, bevor das sich ergebende einzelne Ergebnis von den Operatoren außerhalb der Klammern verwendet werden kann. Zum Beispiel wird beix+y*z ``ymitzmultipliziert und dann x addiert, bei(x+y)*zwird jedochxzuyaddiert und dann das Ergebnis mit z multipliziert.

Siehe auch

Konzepte

Operatoren (Entity SQL)