摘要:本文主要向大家介绍了MySQL数据库之MySQL的CASE WHEN语句的几个使用实例 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。
本文主要向大家介绍了MySQL数据库之MySQL的CASE WHEN语句的几个使用实例 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。
使用CASE WHEN进行字符串替换处理
复制代码 代码如下:mysql> select * from sales;
9 rows in set (0.01 sec)
SELECT name AS Name,
CASE category
WHEN "Holiday" THEN "Seasonal"
WHEN "Profession" THEN "Bi_annual"
WHEN "Literary" THEN "Random" END AS "Pattern"
FROM sales;
9 rows in set (0.00 sec)
CREATE TABLE sales(
num MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(20), winter INT, spring INT,
summer INT, fall INT, category CHAR(13), primary key(num)
) ENGINE=MyISAM;
insert into sales value(1, 'Java', 1067 , 200, 150, 267,'Holiday');
insert into sales value(2, 'C',970,770,531,486,'Profession');
insert into sales value(3, 'JavaScript',53,13,21,856,'Literary');
insert into sales value(4, 'SQL',782,357,168,250,'Profession');
insert into sales value(5, 'Oracle',589,795,367,284,'Holiday');
insert into sales value(6, 'MySQL',953,582,336,489,'Literary');
insert into sales value(7, 'Cplus',752,657,259,478,'Literary');
insert into sales value(8, 'Python',67,23,83,543,'Holiday');
insert into sales value(9, 'PHP',673,48,625,52,'Profession');
简单语句
复制代码 代码如下:
SELECT CASE WHEN 10*2=30 THEN '30 correct'
WHEN 10*2=40 THEN '40 correct'
ELSE 'Should be 10*2=20'
END AS `result`;
多重表达式
复制代码 代码如下:SELECT CASE 10*2
WHEN 20 THEN '20 correct'
WHEN 30 THEN '30 correct'
WHEN 40 THEN '40 correct'
ELSE 'No results'
END AS `result`;
在SELECT查询中使用CASE WHEN
复制代码 代码如下:CREATE TABLE DVDs (
ID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(60) NOT NULL,
NumDisks TINYINT NOT NULL DEFAULT 1,
RatingID VARCHAR(4) NOT NULL,
StatID CHAR(3) NOT NULL
) ENGINE=INNODB;
INSERT INTO DVDs (Name, NumDisks, RatingID, StatID)
VALUES ('Christmas', 1, 'NR', 's1'), ('Doc', 1, 'G', 's2'), ('Africa', 1, 'PG', 's1'), ('Falcon', 1, 'NR', 's2'),
('Amadeus', 1, 'PG', 's2'), ('Show', 2, 'NR', 's2'), ('View', 1, 'NR', 's1'), ('Mash', 2, 'R', 's2');
SELECT Name, RatingID AS Rating,
CASE RatingID
WHEN 'R' THEN 'Under 17 requires an adult.'
WHEN 'X' THEN 'No one 17 and under.'
WHEN 'NR' THEN 'Use discretion when renting.'
ELSE 'OK to rent to minors.'
END AS Policy
FROM DVDs
ORDER BY Name;
8 rows in set (0.01 sec)
本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号