Funzione MySQL CASE
Esempio
Passa attraverso le condizioni e restituisce un valore quando viene soddisfatta la prima condizione:
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;
Definizione e utilizzo
L'istruzione CASE esamina le condizioni e restituisce un valore quando viene soddisfatta la prima condizione (come un'istruzione IF-THEN-ELSE). Quindi, una volta che una condizione è vera, interromperà la lettura e restituirà il risultato.
Se nessuna condizione è vera, restituirà il valore nella clausola ELSE.
Se non è presente alcuna parte ELSE e nessuna condizione è vera, restituisce NULL.
Sintassi
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
Valori dei parametri
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 |
Dettagli tecnici
Funziona in: | Da MySQL 4.0 |
---|
Altri esempi
Il seguente SQL ordinerà i clienti per città. Tuttavia, se Città è NULL, ordina per Paese:
Esempio
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);