Bạn có thể sử dụng câu lệnh trường hợp chọn lọc cho việc này. Cú pháp như sau.
select yourColumnName1,yourColumnName2,...N, case when yourColumnName=1 then 'true' else 'false' end as anyVariableName from yourTableName;
Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau.
mysql> create table selectReturnDemo -> ( -> Id int, -> Name varchar(100), -> isGreaterthan18 tinyint(1) -> ); Query OK, 0 rows affected (0.62 sec)
Bây giờ bạn có thể chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert. Truy vấn như sau.
mysql> insert into selectReturnDemo values(1,'Carol',0); Query OK, 1 row affected (0.23 sec) mysql> insert into selectReturnDemo values(2,'Bob',1); Query OK, 1 row affected (0.21 sec) mysql> insert into selectReturnDemo values(3,'Mike',1); Query OK, 1 row affected (0.18 sec) mysql> insert into selectReturnDemo values(4,'David',0); Query OK, 1 row affected (0.21 sec) mysql> insert into selectReturnDemo values(5,'Adam',1); Query OK, 1 row affected (0.10 sec)
Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau.
mysql> select *from selectReturnDemo;
Sau đây là kết quả.
+------+-------+-----------------+ | Id | Name | isGreaterthan18 | +------+-------+-----------------+ | 1 | Carol | 0 | | 2 | Bob | 1 | | 3 | Mike | 1 | | 4 | David | 0 | | 5 | Adam | 1 | +------+-------+-----------------+ 5 rows in set (0.00 sec)
Đây là truy vấn để thay thế giá trị bằng trả về có chọn. Truy vấn như sau.
mysql> select Id,Name, -> case when isGreaterthan18=1 then 'true' -> else 'false' -> end as AgeIsGreaterthan18 -> from selectReturnDemo;
Sau đây là kết quả.
+------+-------+--------------------+ | Id | Name | AgeIsGreaterthan18 | +------+-------+--------------------+ | 1 | Carol | false | | 2 | Bob | true | | 3 | Mike | true | | 4 | David | false | | 5 | Adam | true | +------+-------+--------------------+ 5 rows in set (0.00 sec)