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);

 

Verwante artikelen