CASE
Op deze pagina:
Een CASE blok loopt door de voorwaarden heen en stopt bij de eerste voorwaarde die voldoet en geeft dat resultaat terug. Indien geen enkele voorwaarde voldoet wordt de waarde van ELSE doorgegeven. Als er ook geen ELSE is, dan wordt NULL teruggegeven.
CASE algemene vorm:
CASE
WHEN voorwaarde1 THEN resultaat1
WHEN voorwaarde2 THEN resultaat2
WHEN voorwaardeN THEN resultaatN
ELSE resultaat
END;
SQL CASE voorbeelden:
--Er wordt één tekst teruggegeven:
SELECT OrderID, Hoeveelheid,
CASE
WHEN Hoeveelheid > 30 THEN 'De Hoeveelheid is meer als 50'
WHEN Hoeveelheid = 30 THEN 'De Hoeveelheid is 50'
ELSE 'De Hoeveelheid minder als 50'
END AS HoeveelheidText
FROM OrderDetails;
--Klanten gesorteerd op Stad,
--tenzij die er niet is, dan op Land:
SELECT Klantnaam, Stad, Land
FROM Klanten
ORDER BY
(CASE
WHEN Stad IS NULL THEN Land
ELSE Stad
END);