SQL CASE Вираз
SQL CASE Вираз
Вираз CASE
перевіряє умови та повертає значення, коли виконується перша умова (наприклад, інструкція if-then-else). Отже, як тільки умова виконується, вона припинить читання та поверне результат. Якщо жодна умова не виконується, повертається значення в пропозиції ELSE
.
Якщо немає частини ELSE
і немає умов, повертає NULL.
CASE Синтаксис
CASE
WHEN умова1 THEN результат1
WHEN умова2 THEN результат2
WHEN умоваN THEN результатN
ELSE результат
END;
Демонстраційна база даних
Нижче наведено вибір із таблиці "OrderDetails" у прикладі бази даних Northwind:
OrderDetailID | OrderID | ProductID | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
SQL CASE Приклади
Наступний SQL перевіряє умови та повертає значення, коли виконується перша умова:
Приклад
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30 THEN 'Кількість більше 30'
WHEN Quantity = 30 THEN 'Кількість є 30'
ELSE 'Кількість менше 30'
END AS QuantityText
FROM OrderDetails;
Спробуйте самі »
Наступний SQL упорядкує клієнтів за містом. Однак, якщо місто дорівнює NULL, упорядкуйте за країною:
Приклад
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);
Спробуйте самі »