Computer >> Máy Tính >  >> Lập trình >> MySQL

Biểu thức trong Mệnh đề CASE WHEN không hoạt động trong truy vấn MySQL?

Fir này, sử dụng câu lệnh CASE WHEN trong MySQL một cách chính xác. Hãy để chúng tôi xem cách thực hiện.

Hãy để chúng tôi tạo một bảng -

mysql> create table demo58
−> (
−> id int not null auto_increment primary key,
−> first_name varchar(20),
−> last_name varchar(20)
−> );
Query OK, 0 rows affected (2.15 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo58(first_name,last_name) values('John','Doe');
Query OK, 1 row affected (0.12 sec)

mysql> insert into demo58(first_name,last_name) values('David','Smith');
Query OK, 1 row affected (0.29 sec)

mysql> insert into demo58(first_name,last_name) values('John','Brown');
Query OK, 1 row affected (0.11 sec)

mysql> insert into demo58(first_name,last_name) values('David','Miller');
Query OK, 1 row affected (0.26 sec)

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo58;

Điều này sẽ tạo ra kết quả sau -

+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  1 | John       | Doe       |
|  2 | David      | Smith     |
|  3 | John       | Brown     |
|  4 | David      | Miller    |
+----+------------+-----------+
4 rows in set (0.15 sec)

Sau đây là truy vấn cho biểu thức trong CASE WHEN -

mysql> select
−> (
−> case
−> when (first_name = "John") then 'Carol'
−> when (last_name ="Smith") then 'Doe'
−> end
−> ) RESULT
−> from demo58;

Điều này sẽ tạo ra kết quả sau -

+--------+
| RESULT |
+--------+
| Carol  |
| Doe    |
| Carol  |
| NULL   |
+--------+
4 rows in set (0.00 sec)