MySQL 在MySQL的CASE语句中可以使用WHERE子句吗?
为此,请使用CASE WHEN语句。让我们首先创建一个表 –
mysql> create table DemoTable1040
(
Value1 int,
Value2 int,
Value3 int
);
Query OK, 0 rows affected (0.65 sec)
使用insert命令向表中插入一些记录 –
mysql> insert into DemoTable1040 values(10,30,1);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1040 values(40,20,50);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1040 values(80,90,100);
Query OK, 1 row affected (0.11 sec)
使用select语句显示表中的所有记录 –
mysql> select *from DemoTable1040;
这将产生以下输出 –
+--------+--------+--------+
| Value1 | Value2 | Value3 |
+--------+--------+--------+
| 10 | 30 | 1 |
| 40 | 20 | 50 |
| 80 | 90 | 100 |
+--------+--------+--------+
3 rows in set (0.00 sec)
以下是使用CASE WHEN的查询 –
mysql> select case when (Value1=40 AND Value2=20) then Value2 else Value1 end as selectedValue from DemoTable1040;
这将产生以下输出 –
+---------------+
| selectedValue |
+---------------+
| 10 |
| 20 |
| 80 |
+---------------+
3 rows in set (0.00 sec)
阅读更多:MySQL 教程
极客教程