Die Ausdrücke und das Ergebniss von arithmetischen Operationen sind jeweils numerische Werte.
<expression-1> + <expression-2>
Addiert die beiden Ausdücke.
<expression-1> / <expression-2>
Teilt den 1. Ausdruck durch den 2. Ausdruck.
<expression-1> % <expression-2>
Ermittelt den Rest bei der Teilung des 1. Ausdruck durch den 2. Ausdruck.
<expression-1> * <expression-2>
Bildet das Produkt die beiden Ausdücke.
<expression-1> - <expression-2>
Zieht den 2. Ausdruck vom 1. Ausdruck ab.
- <expression>
Ergibt den Ausdruck mit umgekehrtem Vorzeichen.
+ <expression>
Ergibt unverändert den Ausdruck.
Die Ausdrücke und das Ergebniss von character Operationen sind jeweils Zeichenketten.
<expression-1> || <expression-2>
Verbindet die beiden Ausdrücke zu einer Zeichenkette.
Die Ergebniss von vergleichenden Operationen sind jeweils boolsche Werte.
Die zu vergleichenden Ausdrücke müssen den gleichen Datentyp haben.
<expression-1> = <expression-2>
<expression-1> == <expression-2>
SELECT NULL = NULL, NULL == NULL, 'a' == NULL, 'a' == 'b', 'a' == 'a';
Ausgabe
column_1 column_2 column_3 column_4 column_5
-------- -------- -------- -------- --------
null true null false true
<expression-1> != <expression-2>
oder
<expression-1> <> <expression-2>
<expression-1> > <expression-2>
<expression-1> >= <expression-2>
<expression-1> < <expression-2>
<expression-1> <= <expression-2>
Die Ausdrücke und das Ergebniss von boolschen Operationen sind jeweils vom Typ Boolean.
<expression-1> AND <expression-2>
Und für boolsche Ausdrücke
<expression-1> OR <expression-2>
Oder für boolsche Ausdrücke
NOT <expression>
Nagation eines boolschen Ausdrucks
<expression> IS [ NOT ] NULL
Der Ausdruck kann einen beliebigen Datentyp haben.
NOT ist optional und negiert das Ergebnis
Das Ergebnis hat den Datentyp BOOLEAN.
SELECT NULL is NULL, 'a' IS NULL, 'b' is not null;
Ausgabe
column_1 column_2 column_3
-------- -------- --------
true false true
<expression-1> LIKE <expression-2>
Beide Ausdrücke sind Zeichenketten.
Ergebnis des Vergleiches:
SELECT 'huhu.xlsx' LIKE '%.xlsx', not 's12' like '_' ;
Ausgabe
column_1 column_2
-------- --------
true true
Um den Ausdruck zu negieren muss man statt "a not like b" "not a like b" verwenden.
<expression-1> REGEXP_LIKE <expression-2>
Beide Ausdrücke sind Zeichenketten.
Ergebnis des Vergleiches:
SELECT 'huhu.xlsx' REGEXP_LIKE '.*\.xlsx', '18237636' REGEXP_LIKE '[0-9]*', not 's12' regexp_like '.' ;
Ausgabe
column_1 column_2 column_3
-------- -------- --------
true true true
CASE
WHEN <boolean-expression-1> THEN <expression-1>
...
WHEN <boolean-expression-n> THEN <expression-n>
[ ELSE <expression-else> ]
END
Die Ausdrücke beim THEN und ELSE müssen alle den gleichen Datentypen haben. Diese Datentyp hat auch das Ergebnis.
SELECT CASE WHEN 73*54 = 72 THEN 'Ist 72' WHEN 73*54 = 3942 THEN 'Ist 3942' ELSE 'Keine Ahnung' END, CASE WHEN 1 IS NULL THEN 7 END;
Ausgabe
column_1 column_2
-------- --------
Ist 3942 null