返回顶部

收藏

mysql使用CASE WHEN进行字符串替换处理

更多
/*

mysql> select * from sales;
+-----+------------+--------+--------+--------+------+------------+
| num | name       | winter | spring | summer | fall | category   |
+-----+------------+--------+--------+--------+------+------------+
|   1 | Java       |   1067 |    200 |    150 |  267 | Holiday    |
|   2 | C          |    970 |    770 |    531 |  486 | Profession |
|   3 | JavaScript |     53 |     13 |     21 |  856 | Literary   |
|   4 | SQL        |    782 |    357 |    168 |  250 | Profession |
|   5 | Oracle     |    589 |    795 |    367 |  284 | Holiday    |
|   6 | MySQL      |    953 |    582 |    336 |  489 | Literary   |
|   7 | Cplus      |    752 |    657 |    259 |  478 | Literary   |
|   8 | Python     |     67 |     23 |     83 |  543 | Holiday    |
|   9 | PHP        |    673 |     48 |    625 |   52 | Profession |
+-----+------------+--------+--------+--------+------+------------+
9 rows in set (0.01 sec)

mysql> SELECT name AS Name,
    -> CASE category
    -> WHEN "Holiday" THEN "Seasonal"
    -> WHEN "Profession" THEN "Bi_annual"
    -> WHEN "Literary" THEN "Random" END AS "Pattern"
    -> FROM sales;
+------------+-----------+
| Name       | Pattern   |
+------------+-----------+
| Java       | Seasonal  |
| C          | Bi_annual |
| JavaScript | Random    |
| SQL        | Bi_annual |
| Oracle     | Seasonal  |
| MySQL      | Random    |
| Cplus      | Random    |
| Python     | Seasonal  |
| PHP        | Bi_annual |
+------------+-----------+
9 rows in set (0.00 sec)

*/
Drop table sales;

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)
)type=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 * from sales;

SELECT name AS Name,
CASE category
WHEN "Holiday" THEN "Seasonal"
WHEN "Profession" THEN "Bi_annual"
WHEN "Literary" THEN "Random" END AS "Pattern"
FROM sales;

标签:MySQL

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. yanxinchi 发表 2018-10-25 07:25:43 JDK 并发 AQS 系列(四)
  2. admin 发表 2018-10-24 09:19:20 online-schema-change tool ddl problem
  3. TiuVe2 发表 2018-10-22 02:17:29 InnoDB 存储引擎之索引和优化
  4. Forece 发表 2018-10-20 02:40:25 记又一次通过查看日志解决服务器500内部错误(xmlrpc.php)
  5. sunny5156 发表 2018-10-18 09:36:10 mycat分片表全局自增主键测试
  6. xinlu 发表 2018-10-15 10:22:08 sql5.7报错
  7. sunny5156 发表 2018-10-12 06:01:45 MyCat 主键ID自增长配置
  8. 唐尤华 发表 2018-10-07 14:46:12 Ubuntu下面MySQL的参数文件my.cnf浅析
  9. fox64194167 发表 2018-10-03 12:17:40 mysql 显示当前执行的sql语句
  10. admin 发表 2017-07-20 09:42:20 MySQL主从配置尝试(同一台机器)
  11. admin 发表 2017-07-31 13:40:26 无备份情况下恢复MySQL truncate table
  12. admin 发表 2017-08-01 17:07:53 无备份情况下恢复MySQL drop table

发表评论