MySQL的CASE WHEN語句的幾個使用實例
使用CASE WHEN進行字符串替換處理
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`;
多重表達式
WHEN 20 THEN '20 correct'
WHEN 30 THEN '30 correct'
WHEN 40 THEN '40 correct'
ELSE 'No results'
END AS `result`;
在SELECT查詢中使用CASE WHEN
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)
相關(guān)文章
解決Mysql5.7.17在windows下安裝啟動時提示不成功問題
這篇文章主要介紹了解決Mysql5.7.17在windows下安裝啟動時提示不成功問題,需要的朋友可以參考下2017-03-03MySQL數(shù)據(jù)庫列的增刪改實現(xiàn)方法
這篇文章主要介紹了MySQL數(shù)據(jù)庫列的增刪改實現(xiàn)方法,結(jié)合實例形式分析了mysql數(shù)據(jù)庫針對列的增加、修改、刪除等相關(guān)操作sql命令及使用技巧,需要的朋友可以參考下2019-03-03Navicat Premium如何導(dǎo)入SQL文件的方法步驟
這篇文章主要介紹了Navicat Premium如何導(dǎo)入SQL文件的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Mysql提升索引效率優(yōu)化的八種方法總結(jié)
索引實際上也是一張表,保存了主鍵和索引的字段,并且指向?qū)嶓w表的記錄,所以索引也是需要占用空間的,這篇文章主要給大家介紹了關(guān)于Mysql提升索引效率優(yōu)化的八種方法,需要的朋友可以參考下2024-04-04使用pt-kill根據(jù)一定的規(guī)則來kill連接的方法
pt-kill 是一個優(yōu)秀的kill MySQL連接的一個工具,是percona toolkit的一部分,在因為空閑連接較多導(dǎo)致超過最大連接數(shù)、某個有問題的sql導(dǎo)致mysql負(fù)載很高時,都需要將一些連接kill掉,這個工具主要就是這個用途2016-04-04MySQL5.7.24版本的數(shù)據(jù)庫安裝過程圖文詳解
這篇文章主要介紹了MySQL5.7.24版本的數(shù)據(jù)庫安裝過程,需要的朋友可以參考下2018-11-11