Funkce MySQL CASE
Příklad
Projděte podmínky a vraťte hodnotu, když je splněna první podmínka:
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;
Definice a použití
Příkaz CASE prochází podmínkami a vrací hodnotu, když je splněna první podmínka (jako příkaz IF-THEN-ELSE). Jakmile je tedy podmínka splněna, přestane číst a vrátí výsledek.
Pokud nejsou splněny žádné podmínky, vrátí hodnotu v klauzuli ELSE.
Pokud neexistuje žádná ELSE část a nejsou splněny žádné podmínky, vrátí hodnotu NULL.
Syntax
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
Hodnoty parametrů
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 |
Technické údaje
Pracuje v: | Od MySQL 4.0 |
---|
Další příklady
Následující SQL seřadí zákazníky podle města. Pokud je však Město NULL, objednejte podle země:
Příklad
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);