Hàm MySQL CASE
Thí dụ
Đi qua các điều kiện và trả về một giá trị khi điều kiện đầu tiên được đáp ứng:
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;
Định nghĩa và Cách sử dụng
Câu lệnh CASE đi qua các điều kiện và trả về một giá trị khi điều kiện đầu tiên được đáp ứng (giống như câu lệnh IF-THEN-ELSE). Vì vậy, khi một điều kiện là đúng, nó sẽ ngừng đọc và trả về kết quả.
Nếu không có điều kiện nào là đúng, nó sẽ trả về giá trị trong mệnh đề ELSE.
Nếu không có phần ELSE và không có điều kiện nào là đúng, nó trả về NULL.
Cú pháp
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
Giá trị tham số
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 |
Chi tiết kỹ thuật
Hoạt động trong: | Từ MySQL 4.0 |
---|
Các ví dụ khác
SQL sau sẽ sắp xếp các khách hàng theo Thành phố. Tuy nhiên, nếu Thành phố là NULL, thì hãy đặt hàng theo Quốc gia:
Thí dụ
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);