MySQL CASE- functie
Voorbeeld
Doorloop de voorwaarden en retourneer een waarde wanneer aan de eerste voorwaarde is voldaan:
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;
Definitie en gebruik
De CASE-instructie doorloopt voorwaarden en retourneert een waarde wanneer aan de eerste voorwaarde is voldaan (zoals een IF-THEN-ELSE-instructie). Dus zodra een voorwaarde waar is, stopt deze met lezen en wordt het resultaat geretourneerd.
Als er geen voorwaarden waar zijn, wordt de waarde in de ELSE-clausule geretourneerd.
Als er geen ELSE-gedeelte is en er zijn geen voorwaarden waar, wordt NULL geretourneerd.
Syntaxis
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
Parameterwaarden
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
Werkt in: | Van MySQL 4.0 |
---|
Meer voorbeelden
De volgende SQL zal de klanten per stad bestellen. Als Stad echter NULL is, sorteer dan op Land:
Voorbeeld
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);