为什么要使用MySQL CASE语句?
对固定数量的参数使用MySQLCASE。
语法如下
SELECT *, CASE WHEN yourColumName1>yourColumName2 THEN 'yourMessage1' ELSE 'yourMessage2' END AS anyAliasName FROM yourTableName;
为了理解上述语法,让我们创建一个表。创建表的查询如下
create table CaseFunctionDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Value1 int, -> Value2 int -> );
使用insert命令在表中插入一些记录。
查询如下
insert into CaseFunctionDemo(Value1,Value2) values(10,20); insert into CaseFunctionDemo(Value1,Value2) values(100,40); insert into CaseFunctionDemo(Value1,Value2) values(0,20); insert into CaseFunctionDemo(Value1,Value2) values(0,-50);
使用select语句显示表中的所有记录。
查询如下
select *from CaseFunctionDemo;
以下是输出
+----+--------+--------+ | Id | Value1 | Value2 | +----+--------+--------+ | 1 | 10 | 20 | | 2 | 100 | 40 | | 3 | 0 | 20 | | 4 | 0 | -50 | +----+--------+--------+ 4 rows in set (0.00 sec)
这是CASE语句的查询
select*, case when Value1>Value2 then 'Value1 is Greater' else 'Value2 is Greater' end AS Comparision from CaseFunctionDemo;
以下是输出
+----+--------+--------+-------------------+ | Id | Value1 | Value2 | Comparision | +----+--------+--------+-------------------+ | 1 | 10 | 20 | Value2 is Greater | | 2 | 100 | 40 | Value1 is Greater | | 3 | 0 | 20 | Value2 is Greater | | 4 | 0 | -50 | Value1 is Greater | +----+--------+--------+-------------------+ 4 rows in set (0.00 sec)