mysql case when 条件过滤
[1].[代码] 使用CASE WHEN进行字符串替换处理 跳至 [1] [2] [3] [4]
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
/*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 categoryWHEN "Holiday" THEN "Seasonal"WHEN "Profession" THEN "Bi_annual"WHEN "Literary" THEN "Random" END AS "Pattern"FROM sales; |
[2].[代码] 简单语句 跳至 [1] [2] [3] [4]
|
1
2
3
4
|
SELECT CASE WHEN 10*2=30 THEN '30 correct' WHEN 10*2=40 THEN '40 correct' ELSE 'Should be 10*2=20'END; |
[3].[代码] 多重表达式 跳至 [1] [2] [3] [4]
|
1
2
3
4
5
|
SELECT CASE 10*2 WHEN 20 THEN '20 correct' WHEN 30 THEN '30 correct' WHEN 40 THEN '40 correct'END; |
[4].[代码] 在SELECT查询中使用CASE WHEN 跳至 [1] [2] [3] [4]
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
/*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 PolicyFROM DVDsORDER BY Name; |
mysql case when 条件过滤的更多相关文章
- mysql case....when条件
oracle的写法SELECT decode(ttype,1,’a',2,’b',3,’c',’d') FROM taba 可以在mysql里写成SELECT if(ttype=1, 'a',if(t ...
- Mysql中的条件语句if、case
Mysql中的条件语句在我们对数据进行转换的时候比较有用,这样就不需要创建中转表. IF 函数 IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 <> ...
- mysql多条件过滤查询之mysq高级查询
一.什么是高级查询: ① 多条件的过滤查询 简单说,即拼接sql语句,在sql查询语句之后使用: where 条件1 and/or 条件2 and/or 条件3 - ② 分页查询 二.多条件过滤查询: ...
- Mysql命令-以NULL做where条件过滤时应该写 IS NULL;
以NULL做where条件过滤时应该写 IS NULL;SELECT * FROM pet WHERE death IS NULL; SELECT * FROM pet WHERE death IS ...
- 【MySQL】MySQL中where条件的执行分析
1.问题描述 一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣.当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析.语法解析.权限检 ...
- MySQL · 性能优化 · 条件下推到物化表
MySQL · 性能优化 · 条件下推到物化表 http://mysql.taobao.org/monthly/2016/07/08/ 背景 MySQL引入了Materialization(物化)这一 ...
- MySQL查询where条件的顺序对查询效率的影响<转>
看到有资料说,where条件的顺序会影响查询的效率,根据的逻辑是: where条件的运行是从右到左的,将选择性强的条件放到最右边,可以先过滤掉大部分的数据(而选择性不强的条件过滤后的结果集仍然很大), ...
- MySQL查询where条件的顺序对查询效率的影响
看到有资料说,where条件的顺序会影响查询的效率,根据的逻辑是: where条件的运行是从右到左的,将选择性强的条件放到最右边,可以先过滤掉大部分的数据(而选择性不强的条件过滤后的结果集仍然很大), ...
- MySQL的简单条件判断语句
在MySQL中条件判断语句常用于数据转换,基于现有数据创建新的数据列,使用场景还是比较多. 基础样式: CASE WHEN`条件`THEN`结果` ELSE`默认结果` END 在同一条判断语句中可以 ...
随机推荐
- SQL Server:把CSV文件导入到SQL Server表中
有时候我们可能会把CSV中的数据导入到某个数据库的表中,比如做报表分析的时候. 对于这个问题,我想一点也难不倒程序人员吧!但是要是SQL Server能够完成这个任务,岂不是更好! 对,SQL Ser ...
- Java知识点:内部类
内部类class文件命名规则 普通内部类.静态内部类:<Outer>\$<Inner>.class,其中<Outer>为外部类类名,<Inner>为内部 ...
- 【打表】HDOJ-2089-不要62
[题目链接:HDOJ-2089] 多组测试数据,所以可以先算出符合条件的所有数保存数组中,输入时则直接遍历数组. #include<iostream> #include<cstrin ...
- TCP/IP详解学习笔记(6)-UDP协议
1.UDP简要介绍 UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议. 2.UDP协议头 2.1.UDP端口号 ...
- TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流
目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等.这些协议又可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大 ...
- js获取客户端IP及地理位置
php获取方法: 1.<?php 2.function get_ip_place(){ 3.$ip=file_get_contents("http://fw.qq.com/ipaddr ...
- addView的误区
如果在代码中动态使用addView(v),那么v里头所有在xml里设置好的layout_xxx全部失效!
- OracleBulkCopy的批量数据导入
private void button1_Click(object sender, EventArgs e) { OpenFileDialog afd = new OpenFileDialog(); ...
- 【转】错误日志ID8021来源BROWSER导致电脑死机
现场工控机死机,网上查了篇文章,具体原因还有待分析,下面是图 在这里有必要介绍两个ID号:6006和6005.在事件查看器里ID号为6006的事件表示事件日志服务已停止,如果你没有在当天的事件查看器中 ...
- SQL 的一些概念问答
1.触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的.它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化.可以联级运算.如, ...