Wenn Sie Ihre Abfrage im SQL-Editor eingeben oder eine Berechnung erstellen, verwenden Sie Presto SQL-Syntax. Wenn Sie Werte zurückgeben möchten, die davon abhängen, ob bestimmte Bedingungen erfüllt sind, können Sie diese allgemeinen Ausdrücke verwenden.
CASE
Um eine Liste von Bedingungen auszuwerten und einen Wert basierend auf der ersten Übereinstimmung oder wahren Bedingung zurückzugeben, verwenden Sie einen CASE Ausdruck, um beispielsweise die if/else-Logik zu aktivieren. CASE hat zwei Formate:
- In seiner einfachen Form wertet
CASEdie Liste für einen bestimmten Ausdruck aus und gibt dessen Wert zurück, z.B.:
CASE Ausdruck WHEN Wert THEN Ergebnis [ WHEN ... ] [ ELSE Ergebnis ] END
- In seiner gesuchten Form wertet
CASEeine Liste von Booleans aus und gibt den Wert der erstenTRUEBedingung zurück, wie zum Beispiel:
CASE WHEN Bedingung THEN Ergebnis [ WHEN ... ] [ ELSE Ergebnis ] END
Zum Beispiel in seiner einfachen Form, um einen Wert („eins“ oder „zwei“) auf der Grundlage eines passenden Ausdrucks zurückzugeben:
SELECT Ausdruck, CASE Ausdruck WHEN 1 THEN 'eins' WHEN 2 THEN 'zwei' ELSE 'viele' END
Wenn keine Bedingungen erfüllt sind, gibt CASE den Wert der ELSE Klausel zurück („many“, in diesem Beispiel), oder NULL, wenn es keine ELSE Klausel gibt.
Hinweis: Um einen Wert zurückzugeben, der davon abhängt, ob eine einzelne Bedingung erfüllt ist, verwenden Sie eine IF Anweisung.
COALESCE
Um den ersten Nicht-Null-Wert in einer Liste zurückzugeben, verwenden Sie den Ausdruck COALESCE als COALESCE(wert1, wert2, wert3).
IF
Um einen Wert zurückzugeben, der davon abhängt, ob eine Bedingung wahr oder falsch ist, verwenden Sie die Anweisung IF als IF(Bedingung, true_value, false_value).
Hinweis: Wenn die Bedingung falsch ist und kein false_value angegeben ist, liefert die IF Anweisung NULL.
IST NULL oder IST NICHT NULL
Um zu prüfen, ob ein Wert leer oder NULL ist, verwenden Sie den Operator IST NULL oder IST NICHT NULL:
- Um auf leere Werte zu testen, verwenden Sie
IS NULL. - Um auf nicht leere Werte zu testen, verwenden Sie
IST NICHT NULL.
Zum Beispiel, um Kundendaten für diejenigen zu testen, die keine Adressen haben:
SELECT Kundenname, Kontaktname, Adresse
FROM Kunden
WHERE Adresse IS NULL
TRY
Um NULL zurückzugeben, wenn ein Ausdruck aufgrund von fehlerhaften oder ungültigen Daten fehlschlägt, verwenden Sie den Ausdruck TRY als TRY(Ausdruck). TRY behandelt diese Fehler:
- Division durch Null
- Ungültiges
CASToder Funktionsargument - Numerischer Wert außerhalb des Bereichs