MySQL 的CASE WHEN 语句使用说明
MySQL 的CASE WHEN 语句使用说明,需要的朋友可以参考下。
使用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;
简单语句
- SELECT CASE WHEN 10*2=30 THEN '30 correct'
- WHEN 10*2=40 THEN '40 correct'
- ELSE 'Should be 10*2=20'
- END;
多重表达式
- SELECT CASE 10*2
- WHEN 20 THEN '20 correct'
- WHEN 30 THEN '30 correct'
- WHEN 40 THEN '40 correct'
- END;
在SELECT查询中使用CASE WHEN
- /*
- mysql> 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;
- +-----------+--------+------------------------------+
- | Name | Rating | Policy |
- +-----------+--------+------------------------------+
- | Africa | PG | OK to rent to minors. |
- | Amadeus | PG | OK to rent to minors. |
- | Christmas | NR | Use discretion when renting. |
- | Doc | G | OK to rent to minors. |
- | Falcon | NR | Use discretion when renting. |
- | Mash | R | Under 17 requires an adult. |
- | Show | NR | Use discretion when renting. |
- | View | NR | Use discretion when renting. |
- +-----------+--------+------------------------------+
- 8 rows in set (0.01 sec)
- */
- Drop table DVDs;
- 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;
转载于:https://blog.51cto.com/sucre/910501
MySQL 的CASE WHEN 语句使用说明相关推荐
- MySQL 的CASE WHEN 语句
mysql数据库中CASE WHEN语句. case when语句,用于计算条件列表并返回多个可能结果表达式之一. CASE 具有两种格式: 简单 CASE 函数将某个表达式与一组简单表达式进行比较以 ...
- mysql的case then语句_mysql case then使用
表的创建 CREATE TABLE `lee` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` char(20) DEFAULT NULL, `birth ...
- mysql关于case when的用法举例
原文链接:http://www.cnblogs.com/clphp/p/6256207.html Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex ...
- mysql中使用case when语句
在web开发过程中,很多时候良好的sql不仅可以加快数据响应时间,更重要可以省略大量的后端代码.比如说对大量数据的分组,统计(求和,求差,求平均,求百分比等等),排序,如果可以放到sql里面去做,还是 ...
- mysql的 case用法_mysql数据库case语句的使用方法
用case语句就可以很好的解决这个问题: 代码如下 复制代码 select a.master_id,sum(case when b.status=6 then 1 else 0 end) as to ...
- 学习OceanBase|OB-ODBC 驱动和 MySQL 官方 MySQL-ODBC 驱动的使用说明和配置方法
本文介绍了 OceanBase 数据库的 OB-ODBC 驱动和 MySQL 官方 MySQL-ODBC 驱动的使用说明和配置方法. 开放数据库互连(ODBC)是微软公司开放服务结构( WOSA,Wi ...
- MySQL——基于CASE WHEN的常用查询
RDBMS语句执行顺序[补充] 这里我们简单提一下关于SQL语句的执行问题:经过前面7个查询关键词的学习,你会发现SQL语句的书写顺序与执行顺序是不一样的. # SQL语句书写顺序 select di ...
- left join on用法_MySQL 多表查询 quot;Joinquot;+“case when”语句总结
本部分讲述:join系列全部总结和case when语句用法 join系列:表加法.Cross join .inner join.left join.right join.full outer joi ...
- CASE WHEN语句中加IN应该如何使用
本文来说下CASE WHEN语句中加IN应该如何使用 文章目录 实例测试 本文小结 实例测试 mysql脚本程序 SELECTIFNULL( COUNT( CASE WHEN T.state IN ( ...
最新文章
- 大数据SQL日常学习——CASE WHEN THEN END用法
- x+2y+3z=n的非负整数解数
- 024_Jedis连接池
- 强化学习(三)---马尔科夫决策过程
- ide在控制台输入编译命令_快速编译调试 Redis
- 版权文字:Power by DedeCms 如何去除?
- 理解SSD多盒-实时目标检测
- ubuntu crontab 不执行的解决方法
- 线程并发安全导致内存溢出
- 四脚贴片晶振的引脚区分
- MRP游戏软件常见问题解答以及破解方法!(新手必看)
- CronTrigger 示例 1
- Redis 官方可视化工具,高颜值,功能太强大!
- 单片机怎么实现模块化编程?思维+实例+系统教程(实用程度令人发指)
- 到底什么是dp思想(内含大量经典例题,附带详细解析)
- BZOJ2794[Poi2012]Cloakroom——离线+背包
- 移动联通电信老用户如何转腾讯大王卡、蚂蚁宝卡、鱼卡等技巧
- html5笔迹画图,html5绘图工具canvas模拟笔迹绘画特效
- wsl(Windows Subsystem for Linux)启动多个子系统和设置默认启动子系统
- j1_09_02。冒泡排序法。实现冒泡游戏功能关键算法。要求:综合使用分支、循环结构语句实现,直接输出结果不计分。
热门文章
- oracle rac 创建ocr,Oracle rac 11g在线添加ocr,votedisk
- 接收大文件流_一文搞定 Node.js 流 (Stream)
- 联想微型计算机怎么恢复系统,联想电脑台式一体机怎么重装系统 台式一体机重装系统...
- c语言编程阿拉伯数字转中文,阿拉伯数字转中文大(小)写的函数
- web 前端绘制折线_html5绘制折线图
- 微信java 签名验证_JAVA版微信小程序用户数据的签名验证和加解密
- 查看oracle的版本、所在表空间、字符集及查询一个表的所有字段名和数据类型
- ajax上传多行数据及数组循环添加对象
- 开始VC6学习之旅2
- [VB]用记录集填充表格函数