Formelausdrücke
Formelausdrücke können an verschiedenen Stellen in MapEdit verwendet werden.
Konzept
Der Ausdrucks Auswerter unterstützt Ausdrücke ähnlich die einer SQL Where Bedigung. Er kann Ausdrücke auflösen und unterstützt Variablen und einen spezifizerten Satz von Funktionen.
Unterstützte Operatoren und Funktionen
Reihenfolge | Operator/Funktion | Beschreibung | Beispiel |
---|---|---|---|
10 | () | Sub term | (COLUMN+1)=2 |
11 | CASE | Case expression | CASE a WHEN b THEN c WHEN d THEN e ELSE f END |
15 | IN | Contained in list | COLUMN IN (1,2,3) |
15 | NVL | Replace NULL values | NVL(COLUMN,2)=2 |
15 | NVL2 | Replace NULL values | NVL2(COLUMN,1,2)=1 |
15 | COALESCE | Replace NULL values | COALESCE(COLUMN,1,2,3,4)=2 |
15 | CONCAT | Concatenate strings | CONCAT('a','b')='ab' |
15 | TRIM | Remove whitespace | TRIM(' abc')='abc' |
15 | LOWER | Convert string to lower case | LOWER('ABC')='abc' |
15 | UPPER | Convert string to upper case | UPPER('abc')='ABC' |
15 | ROUND | Round a numeric value | ROUND(1.234,2)=1.23 |
20 | IS NULL/IS NOT NULL | Check if value is NULL | COLUMN IS NULL |
21 | LIKE /NOT LIKE | Like operator | COLUMN LIKE 'A%' |
29 | NOT | Invert condition | NOT COLUMN IN(1,2,3) |
31 | * | Multiplication | COLUMN*1=2 |
32 | / | Division | COLUMN/1=2 |
41 | + | Addition | COLUMN+1=2 |
42 | - | Subtraction | COLUMN-1=2 |
49 | || | Concatenate strings | COLUMN||COLUMN2='ab' |
61 | < | Is smaller? | COLUMN<1 |
62 | <= | Is smaller or equal? | COLUMN<=1 |
63 | > | Is larger? | COLUMN>1 |
64 | >= | Is larger or equal? | COLUMN>=1 |
71 | ==/= | Is equal? | COLUMN=1 |
72 | !=/<> | Is not equal? | COLUMN!=1 |
111 | AND | Logical AND | COLUMN=1 AND COLUMN2=2 |
121 | OR | Logical OR | COLUMN=1 OR COLUMN2=2 |
Die Rangfolge ist so gestaltet, dass Prioritäten wie "Punktrechnung vor Strichrechnung" beim Auflösen beachtet werden - alternativ kann man die Terme auch einklammern. Damit können hier komplexere Bedingungen erstellt werden wie zum Beispiel: COLUMN='Value' OR COLUMN2 IN(A,B,C)