MySQL CASE- Funktion
Beispiel
Gehen Sie Bedingungen durch und geben Sie einen Wert zurück, wenn die erste Bedingung erfüllt ist:
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30
THEN "The quantity is greater than 30"
WHEN Quantity =
30 THEN "The quantity is 30"
ELSE "The quantity is
under 30"
END
FROM OrderDetails;
Definition und Verwendung
Die CASE-Anweisung durchläuft Bedingungen und gibt einen Wert zurück, wenn die erste Bedingung erfüllt ist (wie eine IF-THEN-ELSE-Anweisung). Sobald also eine Bedingung wahr ist, hört sie auf zu lesen und gibt das Ergebnis zurück.
Wenn keine Bedingungen wahr sind, wird der Wert in der ELSE-Klausel zurückgegeben.
Wenn es keinen ELSE-Teil gibt und keine Bedingungen wahr sind, wird NULL zurückgegeben.
Syntax
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
Parameterwerte
Parameter | Description |
---|---|
condition1, condition2, ...conditionN | Required. The conditions. These are evaluated in the same order as they are listed |
result1, result2, ...resultN | Required. The value to return once a condition is true |
Technische Details
Arbeitet in: | Ab MySQL 4.0 |
---|
Mehr Beispiele
Die folgende SQL ordnet die Kunden nach Stadt. Wenn die Stadt jedoch NULL ist, sortieren Sie nach Land:
Beispiel
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);