Mysql:case when then end 的用法


文章來源:http://www.cnblogs.com/hello-tl/p/7603676.html 

0、創建一張數據表 表名為 test_when_case

CREATE TABLE `test_when_case` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0 = 幼兒園  1 = 一年級 2 = 二年級 3 = 三年級 4 = 四年級 5 = 五年級 6 = 六年級 7 = 七年級 8 = 八年級 9 = 九年級',
  `state` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0 = 等待審核  1 = 審核通過  2 = 未通過審核',
  `instrDataTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `addDataTime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

1、添加5-10條的數據

INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (0,0,(select  concat_ws(' ',curdate(),curtime(),null)));
INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (1,1,(select  concat_ws(' ',curdate(),curtime(),null)));
INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (2,2,(select  concat_ws(' ',curdate(),curtime(),null)));
INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (3,0,(select  concat_ws(' ',curdate(),curtime(),null)));
INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (4,1,(select  concat_ws(' ',curdate(),curtime(),null)));
INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (5,2,(select  concat_ws(' ',curdate(),curtime(),null)));
INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (6,0,(select  concat_ws(' ',curdate(),curtime(),null)));
INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (7,1,(select  concat_ws(' ',curdate(),curtime(),null)));
INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (8,2,(select  concat_ws(' ',curdate(),curtime(),null)));
INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (9,0,(select  concat_ws(' ',curdate(),curtime(),null)));
INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (2,1,(select  concat_ws(' ',curdate(),curtime(),null)));
INSERT INTO test_when_case (`type`,`state`,`addDataTime`) values (5,2,(select  concat_ws(' ',curdate(),curtime(),null)));

2、用case when then end 函數進行查詢 實現的效果是 type字段  state字段 的數字轉換成中文

SELECT
 CASE type WHEN '0' THEN '幼兒園' WHEN '1' THEN '一年級' WHEN '2' THEN '二年級' WHEN '3' THEN '三年級' WHEN '4' THEN '四年級' WHEN '5' THEN '五年級' WHEN '6' THEN '六年級' WHEN '7' THEN '七年級' WHEN '8' THEN '八年級' WHEN '9' THEN '九年級' END AS TYPE,
 CASE state WHEN '0' THEN '待審核' WHEN '1' THEN '審核通過' WHEN '2' THEN '未通過審核' END AS STATE
FROM test_when_case;

3、以上查詢語句返回圖

 

文章來源:http://www.cnblogs.com/hello-tl/p/7603676.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM