Función de caso de MySQL
Ejemplo
Revise las condiciones y devuelva un valor cuando se cumpla la primera condición:
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;
Definición y uso
La declaración CASE pasa por las condiciones y devuelve un valor cuando se cumple la primera condición (como una declaración IF-THEN-ELSE). Entonces, una vez que una condición es verdadera, dejará de leer y devolverá el resultado.
Si ninguna condición es verdadera, devolverá el valor de la cláusula ELSE.
Si no hay parte ELSE y ninguna condición es verdadera, devuelve NULL.
Sintaxis
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
Valores paramétricos
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 |
Detalles técnicos
Trabaja en: | Desde MySQL 4.0 |
---|
Más ejemplos
El siguiente SQL ordenará los clientes por ciudad. Sin embargo, si la ciudad es NULL, ordene por país:
Ejemplo
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);