Operatorenpriorität

Home  Zurück  Vor

Bei der Bewertung von Ausdrücken muss MapInfo Pro wissen, welche Komponenten eines Ausdrucks zuerst zu bewerten sind. Diese Reihenfolge wird als Priorität bezeichnet. Konventionsgemäß werden bestimmten Operatoren festgelegte Prioritätsstufen zugewiesen. Diejenigen mit der höchsten Prioritätsstufe werden zuerst bewertet. In der folgenden Tabelle werden die MapInfo Pro-Operatoren in der Reihenfolge aufgeführt, in der sie bewertet werden. Bei der Potenzierung erfolgt die Bewertung von rechts nach links. Dies wirkt sich auf Ausdrücke mit mehreren Exponenten aus: 2 ^ -3 ^ -4 = 2 ^ ( - (3 ^ (-4)))

 

Operatoren auf derselben Prioritätsstufe werden von links nach rechts bewertet.

Höchste Priorität

Runde Klammern


Exponentiation


Negation


Multiplikation, Division


Addition, Subtraktion


Geografische Operatoren, Vergleichsoperatoren


Not


And

Niedrigste Priorität

Oder

 

Beispielsweise ergibt der Ausdruck „3+4*2“ das Ergebnis „11“.

Das liegt daran, dass die Multiplikation eine höhere Priorität hat als die Addition und dementsprechend zuerst durchgeführt wird:

3+4*2=

3+8=

11

 

Durch das Hinzufügen von Klammern kann MapInfo Pro dazu gezwungen werden, zuerst die Addition durchzuführen:

(3+4)*2=

7*2=

14

 

Betrachten Sie nun Ausdruck 1, mit dem alle Datensätze von Juli oder September 2016 ausgewählt werden sollen.

1) year(Auftragseingang)=2016 and month(Auftragseingang)=7 or month(Auftragseingang)=9

Da „and“ eine höhere Priorität als „or“ hat, behandelt MapInfo Pro diesen Ausdruck so, als ob „year(EINGANG)=2016 and month(EINGANG)=7“ in Klammern eingeschlossen wäre.

 

2) (year(Auftragseingang)=2016 and month(Auftragseingang)=7) or month(Auftragseingang)=9

In diesem Fall werden alle Datensätze für Juli 2016 oder für September eines beliebigen Jahres ausgewählt. Dies ist vermutlich nicht gewollt. Durch Hinzufügen von Klammern zum zweiten Ausdruck können Sie jedoch Folgendes erzielen:

 

3) year(Auftragseingang)=2016 and (month(Auftragseingang)=7 or month(Auftragseingang)=9)

In diesem Ausdruck teilen die Klammern MapInfo Pro mit, dass „month(EINGANG)=7“ und „month(EINGANG)=9“ Alternativen bei der zweiten Klausel des Ausdrucks sind. MapInfo Pro behandelt diesen Ausdruck ebenso wie Ausdruck 1 oben.

 

Anmerkung: Wenn Sie nicht sicher sind, wie MapInfo Pro einen Ausdruck mit mehreren Operatoren bewertet, sollten Sie die Elemente mithilfe von Klammern wie gewünscht gruppieren.