带WHEN子句的CASE语句用于解决条件。以下是语法-select *,
case when yourCondition then yourStatement
when yourCondition then yourStatement
.
.
else yourStatement
from yourTableName;
让我们首先创建一个表-mysql> create table DemoTable
-> (
-> StudentName varchar(20),
-> StudentMarks int
-> );
使用插入命令在表中插入一些记录-mysql> insert into DemoTable values('Chris',78);
mysql> insert into DemoTable values('Robert',88);
mysql> insert into DemoTable values('Mike',75);
mysql> insert into DemoTable values('Sam',98);
使用select语句显示表中的所有记录-mysql> select *from DemoTable;
这将产生以下输出-+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| Chris | 78 |
| Robert | 88 |
| Mike | 75 |
| Sam | 98 |
+-------------+--------------+
4 rows in set (0.00 sec)
这是在以下情况下实现MySQL CASE的查询-mysql> select *,
-> case when StudentMarks > 90 then 'Very Good Score'
-> when StudentMarks > 80 then 'Good Score'
-> else
-> 'Not Good'
-> end as Status
-> from DemoTable;
这将产生以下输出-+-------------+--------------+-----------------+
| StudentName | StudentMarks | Status |
+-------------+--------------+-----------------+
| Chris | 78 | Not Good |
| Robert | 88 | Good Score |
| Mike | 75 | Not Good |
| Sam | 98 | Very Good Score |
+-------------+--------------+-----------------+
4 rows in set (0.00 sec)