Hàm CASE trong MySQL

Trong bài này mình sẽ hướng dẫn cách sử dụng hàm CASE trong MySQL thông qua cú pháp và ví dụ thực tế.

1. Mô tả

Hàm CASE có chức năng của câu lệnh IF-THEN-ELSE bằng cách cho phép bạn đánh giá các điều kiện và trả về một giá trị khi điều kiện đầu tiên được đáp ứng.

2. Cú pháp

Cú pháp của hàm CASE trong MySQL là:

CASE [ expression ]

   WHEN condition_1 THEN result_1
   WHEN condition_2 THEN result_2
   ...
   WHEN condition_n THEN result_n

   ELSE result

END

Trong đó:

  • expression: Không bắt buộc. Đó là giá trị mà bạn đang so sánh với danh sách các điều kiện. (ví dụ: condition_1, condition_2, ... condition_n)
  • condition_1, condition_2, ... condition_n: Điều kiện theo thứ tự được liệt kê. Khi một điều kiện được tìm thấy là đúng, hàm CASE sẽ trả về kết quả và không kiểm tra các điều kiện nữa.
  • result_1, result_2, ... result_n: Giá trị được trả về sau khi một điều kiện được tìm thấy là đúng.

Lưu ý:

  • Nếu không có điều kiện nào là đúng, thì hàm CASE sẽ trả về giá trị trong mệnh đề ELSE.
  • Nếu mệnh đề ELSE bị bỏ qua và không có điều kiện nào được tìm thấy là đúng, thì câu lệnh CASE sẽ trả về NULL.

3. Version

Hàm CASE có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23.3

4. Ví dụ

SELECT diem,
CASE quantity
  WHEN > 7 THEN 'Diem lon hon 7'
  WHEN = 7 THEN 'Diem bang 10'
  ELSE 'Diem nho hon 7'
END
FROM KetQua;

 

Nguồn: freetuts.net