Função CASE MySQL
Exemplo
Percorra as condições e retorne um valor quando a primeira condição for atendida:
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;
Definição e uso
A instrução CASE passa por condições e retorna um valor quando a primeira condição é atendida (como uma instrução IF-THEN-ELSE). Assim, uma vez que uma condição for verdadeira, ela parará de ler e retornará o resultado.
Se nenhuma condição for verdadeira, ele retornará o valor na cláusula ELSE.
Se não houver nenhuma parte ELSE e nenhuma condição for verdadeira, ele retornará NULL.
Sintaxe
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
Valores de parâmetro
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 |
Detalhes técnicos
Trabalha em: | Do MySQL 4.0 |
---|
Mais exemplos
O SQL a seguir ordenará os clientes por Cidade. No entanto, se Cidade for NULL, então ordene por País:
Exemplo
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);