# Ausdrucksoperatoren

Verwenden Sie Operatoren, um Werte zu berechnen, Eingaben zu vergleichen und Bedingungen zu kombinieren, wenn [Erstellen von Formeln](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Building-expressions.htm).

Für Ausdrücke von Bewegungsaufgaben gilt die folgende Semantik. Auf einer Cloud-Datenplattform ausgeführte Ausdrücke verwenden die Semantik dieser Plattform. Setzen Sie Leerzeichen um Operatoren und schließen Sie Text- und Datumskonstanten in Anführungszeichen ein, wie z. B. `$HIRE_DATE < '2026-10-08'`.

## Arithmetische Operatoren

Arithmetische Operationen auf numerischen Werten

| Operator | Bedeutung | Beispiel und Ergebnis |
| --- | --- | --- |
| `+` | Addiert die beiden Operanden. | `2 + 3` gibt `5` zurück. |
| `-` | Subtrahiert den rechten Operanden vom linken. Ein vorangestelltes Minuszeichen negiert einen Wert. | `5 - 2` gibt `3` zurück. |
| `*` | Multipliziert die Operanden. | `3 * 4` gibt `12` zurück. |
| `/` | Dividiert den linken Operanden durch den rechten. Die Ganzzahldivision schneidet in Richtung null ab. Ein reeller Operand behält ein gebrochenes Ergebnis bei. Division durch Null gibt NULL zurück. | `7 / 2` gibt `3` zurück; `7.0 / 2` gibt `3.5` zurück. |
| `%` | Konvertiert beide Operanden in Ganzzahlen und gibt den Divisionsrest zurück. Dies ist keine Prozentberechnung. | `7 % 3` gibt `1` zurück. |

## Vergleichsoperatoren

Vergleiche geben 1 für wahr und 0 für falsch zurück. Normale Vergleiche mit NULL geben NULL zurück; verwenden Sie `IS` oder `IS NOT`, um auf fehlende Werte zu prüfen.

Zwei Werte vergleichen

| Operator | Bedeutung | Beispiel und Ergebnis |
| --- | --- | --- |
| `=` | Prüft auf Gleichheit. | `3 = 3` gibt `1` zurück. |
| `!=` | Prüft auf Ungleichheit. | `3 != 4` gibt `1` zurück. |
| `<>` | Alternativer Ungleichheitsoperator. | `3 <> 3` gibt `0` zurück. |
| `<` | Prüft, ob der linke Wert kleiner ist. | `2 < 3` gibt `1` zurück. |
| `<=` | Prüft auf kleiner oder gleich. | `3 <= 3` gibt `1` zurück. |
| `>` | Prüft, ob der linke Wert größer ist. | `4 > 3` gibt `1` zurück. |
| `>=` | Prüft auf größer oder gleich. | `3 >= 3` gibt `1` zurück. |
| `IS` | Prüft auf Gleichheit, ohne NULL zurückzugeben. Zwei NULL-Werte sind gleich; ein NULL- und ein Nicht-NULL-Wert sind es nicht. | `NULL IS NULL` gibt `1` zurück. |
| `IS NOT` | Prüft auf Ungleichheit, ohne NULL zurückzugeben. | `NULL IS NOT 3` gibt `1` zurück. |

## Logische und bedingte Operatoren

Bedingungen kombinieren und Werte auswählen

| Operator | Bedeutung | Beispiel und Ergebnis |
| --- | --- | --- |
| `AND` | Wahr, wenn beide Bedingungen wahr sind. Ein falscher Operand führt zu einem falschen Ergebnis, selbst wenn der andere Operand NULL ist. | `(3 > 2) AND (4 < 3)` gibt `0` zurück. |
| `OR` | Wahr, wenn eine der beiden Bedingungen wahr ist. Ein Operand mit dem Wert „true“ führt dazu, dass das Ergebnis „true“ ist, selbst wenn der andere Operand NULL ist. | `(3 > 2) OR (4 < 3)` gibt `1` zurück. |
| `IN` | Prüft die Zugehörigkeit zu einer eingeklammerten Liste. Wenn kein Wert übereinstimmt und die Liste NULL enthält, wird NULL zurückgegeben. Eine leere Liste gibt 0 zurück, einschließlich für einen linken NULL-Operanden. | `2 IN (1, 2, 3)` gibt `1` zurück; `4 IN (1, NULL)` gibt NULL zurück. |
| `CASE` | Gibt den ersten übereinstimmenden Zweig zurück. Vergleicht bei einem Basiswert diesen mit jedem WHEN-Wert. Ohne diesen wird jede WHEN-Bedingung geprüft. Verwendet ELSE, wenn kein Zweig übereinstimmt, oder NULL, wenn ELSE fehlt. | `CASE WHEN 5 > 3 THEN 'High' ELSE 'Low' END` gibt `'High'` zurück. `CASE 2 WHEN 1 THEN 'One' WHEN 2 THEN 'Two' END` gibt `'Two'` zurück. |

## Zeichenfolgen- und Musteroperatoren

Text zusammenführen und Muster abgleichen

| Operator | Bedeutung | Beispiel und Ergebnis |
| --- | --- | --- |
| `\|\|` | Verkettet Textwerte. Ein NULL-Operand ergibt NULL. | `'John' \|\| ' ' \|\| 'Smith'` gibt `'John Smith'` zurück. |
| `LIKE` | Vergleicht die linke Zeichenfolge mit dem rechten Muster. `%` entspricht null oder mehr Zeichen; `_` entspricht einem. Ignoriert standardmäßig die Groß-/Kleinschreibung von ASCII-Buchstaben, jedoch keine Groß-/Kleinschreibungsunterschiede bei Nicht-ASCII-Zeichen. ESCAPE gibt ein einzelnes Zeichen für Literal-Platzhalter an. | `'Alice' LIKE 'A%'` gibt `1` zurück. `'10%' LIKE '10!%' ESCAPE '!'` Gibt `1` zurück. |
| `GLOB` | Groß-/Kleinschreibung beachtender Abgleich unter Verwendung von Mustern im Unix-Stil. `*` entspricht null oder mehr Zeichen, `?` stimmt mit einem überein, und eckige Klammern definieren einen Zeichensatz. | `'file.csv' GLOB '*.csv'` gibt `1` zurück; `'File.CSV' GLOB '*.csv'` gibt `0` zurück. |
| `MATCH` | Delegiert an die anwendungsdefinierte Funktion `match()`. Eine verwendbare Implementierung ist erforderlich; die standardmäßige SQLite-Implementierung löst einen Fehler aus. | `'Quarterly sales' MATCH 'sales'` veranschaulicht die Syntax. Das Ergebnis hängt von der Implementierung der Anwendung ab. |
| `REGEXP` | Delegiert an die anwendungsdefinierte Funktion `regexp()`. SQLite stellt diese Funktion standardmäßig nicht bereit. | `'ABC123' REGEXP '^[A-Z]+[0-9]+$'` veranschaulicht die Syntax. Ohne eine Implementierung schlägt die Evaluierung fehl. |

## Bitweise Operatoren

Diese binären Operatoren wirken auf Ganzzahl-Bits, nicht auf logische Bedingungen. `|` bedeutet bitweises ODER, selbst wenn der Editor dies auch in einer logischen Kategorie aufführt.

Integer-Bitoperationen

| Operator | Bedeutung | Beispiel und Ergebnis |
| --- | --- | --- |
| `<<` | Verschiebt die linke Ganzzahl um die Anzahl der Bits im rechten Operanden nach links. | `3 << 1` gibt `6` zurück. |
| `>>` | Verschiebt die linke Ganzzahl um die Anzahl der Bits im rechten Operanden nach rechts. | `8 >> 1` gibt `4` zurück. |
| `&` | Bitweises UND: setzt ein Ergebnisbit nur dann, wenn beide Operanden dieses Bit gesetzt haben. | `6 & 3` gibt `2` zurück. |
| `\|` | Bitweises ODER: Setzt ein Ergebnisbit, wenn mindestens einer der Operanden dieses Bit gesetzt hat. | `6 \| 3` gibt `7` zurück. |

## Auswertungsreihenfolge und fehlende Werte

Für die oben genannten binären Operatoren lautet die Rangfolge von der höchsten zur niedrigsten: Verkettung; Multiplikation, Division und Rest; Addition und Subtraktion; bitweise Operationen; geordnete Vergleiche; Gleichheits- und Mustertests; AND; dann OR. Operatoren auf derselben Ebene werden von links nach rechts ausgewertet. Klammern heben diese Reihenfolge auf: `(2 + 3) * 4` gibt `20` zurück, während `2 + 3 * 4` `14` zurückgibt.

Die meisten Operatoren geben NULL zurück, wenn ein Operand NULL ist. Die oben beschriebenen Ausnahmen umfassen `IS`, `IS NOT` sowie spezifische Fälle von `AND`, `OR` und `IN`. Verwenden Sie `$COALESCE`, wenn ein fehlender Wert ersetzt werden soll. Siehe [Ausdrucksfunktionen](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Expression-functions.htm).