MySQL CASE() функция расширений
Пример
Выполните условия и верните значение при выполнении первого условия:
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30
THEN "Количество превышает 30"
WHEN Quantity =
30 THEN "Количество составляет 30"
ELSE "Количество составляет
менее 30"
END
FROM OrderDetails;
Попробуйте сами»
Определение и использование CASE
Оператор CASE обрабатывает условия и возвращает значение при выполнении первого условия (например, оператор IF-THEN-ELSE). Таким образом, как только условие будет выполнено, оно прекратит чтение и вернет результат.
Если ни одно из условий не выполнено, оно вернет значение в предложении ELSE.
Если нет части ELSE и никакие условия не являются истинными, он возвращает NULL.
Синтаксис CASE
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
Параметр значений CASE
Параметр | Описание |
---|---|
condition1, condition2, ...conditionN | Требуемый. Условия. Они оцениваются в том же порядке, в каком они перечислены |
result1, result2, ...resultN | Требуемый. Значение, возвращаемое при выполнении условия true |
Технические детали CASE
Работает в: | От MySQL 4.0 |
---|
Примеры CASE
Следующий SQL-запрос упорядочит клиентов по городам. Однако, если город равен NULL, то упорядочивайте по стране:
Пример
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);
Попробуйте сами»