Mệnh đề CASE cho phép ánh xạ giá trị số sang nhãn văn bản ngay trong câu SELECT, hữu ích cho báo cáo và hiển thị.
Ví dụ minh họa
Tạo bảng boolean (lưu 1/0):
mysql> CREATE TABLE DemoTable (
IsMarried BOOLEAN
);
Chèn dữ liệu:
mysql> INSERT INTO DemoTable VALUES(TRUE); mysql> INSERT INTO DemoTable VALUES(FALSE); mysql> INSERT INTO DemoTable VALUES(FALSE); mysql> INSERT INTO DemoTable VALUES(TRUE);
Xem dữ liệu gốc (1/0):
mysql> SELECT * FROM DemoTable;
Kết quả
+-----------+ | IsMarried | +-----------+ | 1 | | 0 | | 0 | | 1 | +-----------+
Ánh xạ sang nhãn:
mysql> SELECT IsMarried,
-> CASE IsMarried
-> WHEN 1 THEN 'Married'
-> ELSE 'Not Married'
-> END AS Status
-> FROM DemoTable;
Kết quả
+-----------+-------------+ | IsMarried | Status | +-----------+-------------+ | 1 | Married | | 0 | Not Married | | 0 | Not Married | | 1 | Married | +-----------+-------------+
Cú pháp mở rộng: CASE WHEN dieu_kien THEN ket_qua ... ELSE mac_dinh END cho phép điều kiện phức tạp hơn so với CASE cot WHEN gia_tri THEN ....