case when mysql_mysql条件语句case when的实例
本节学习mysql中case when条件语句的一些实例。
1,表的创建
复制代码 代码示例:
CREATE TABLE `lee` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` char(20) DEFAULT NULL,
`birthday` datetime DEFAULT NULL,
PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8
2,数据插入:
复制代码 代码示例:
insert into lee(name,birthday) values ('sam','1990-01-01');
insert into lee(name,birthday) values ('lee','1980-01-01');
insert into lee(name,birthday) values ('john','1985-01-01');
使用case when语句来实现,更简单:
1,
复制代码 代码示例:
select name,
case
when birthday
when birthday>'1988' then 'yong'
else 'ok' END YORN
from lee;
2,
复制代码 代码示例:
select NAME,
case name
when 'sam' then 'yong'
when 'lee' then 'handsome'
else 'good' end
from lee;
当然了case when语句还可以复合。
3,
复制代码 代码示例:
select name,birthday,
case
when birthday>'1983' then 'yong'
when name='lee' then 'handsome'
else 'just so so ' end
from lee;
此处用sql语句进行日期比较的话,需要对年加引号。
否则结果可能和预期的结果会不同。
还可以用year函数实现,以第一个sql为例:
复制代码 代码示例:
select NAME,
CASE
when year(birthday)>1988 then 'yong'
when year(birthday)<1980 then 'old'
else 'ok' END
from lee;
create table penalties
(
paymentno INTEGER not NULL,
payment_date DATE not null,
amount DECIMAL(7,2) not null,
primary key(paymentno)
)
insert into penalties values(1,'2008-01-01',3.45);
insert into penalties values(2,'2009-01-01',50.45);
insert into penalties values(3,'2008-07-01',80.45);
1.#对罚款登记分为三类,第一类low,包括大于0小于等于40的罚款,第二类moderate大于40
#到80之间的罚款,第三类high包含所有大于80的罚款。
2.#统计出属于low的罚款编号。
第一道题的解法与上面的相同
复制代码 代码示例:
select paymentno,amount,
case
when amount>0 and amount<=40 then 'low'
when amount>40 and amount<=80 then 'moderate'
when amount>80 then 'high'
else 'incorrect' end lvl
from `penalties`
2.#统计出属于low的罚款编号。重点看这里的解决方法
方法1.
复制代码 代码示例:
select paymentno,amount
from `penalties`
where case
when amount>0 and amount<=40 then 'low'
when amount>40 and amount<=80 then 'moderate'
when amount>80 then 'high'
else 'incorrect' end ='low';
方法2
复制代码 代码示例:
select *
from (select paymentno,amount,
case
when amount>0 and amount<=40 then 'low'
when amount>40 and amount<=80 then 'moderate'
when amount>80 then 'high'
else 'incorrect' end lvl
from `penalties`) as p
where p.lvl='low';
case when mysql_mysql条件语句case when的实例相关推荐
- python的for循环语句的用法及实例
目录 1.for循环的语法及用法 (1)语法 (2)用法:可以遍历任何序列的对象,即列表.字符串.字典,或者通过序列索引来迭代. 2.for循环的实例 (1)迭代对象为列表 (2)迭代对象为字符串 ( ...
- 10 i lt shell的if_shell脚本编程之if、case条件语句
程序执行三种顺序 顺序执行 选择执行 循环执行 选择执行语句: if语句 格式: 单分支: if 判断条件:then 条件分支代码 fi 双分支: if 判断条件:then 条件为真时语句 else ...
- C# 条件语句 if else 、 switch case 及练习题解析
c#语句主要分为:顺序语句.选择语句(分支语句).循环语句 条件语句: if else 格式1: if() {} 格式2://二选一 if() {} else {} 格式3://多选一 if() ...
- shell编程之条件语句(文件测试,test命令,字符串和逻辑测试,if单支语句,if双支语句,if多支语句,case命令,用if写跑步小实验)
文章目录 shell编程之条件语句 条件测试 test命令 整数值测试 free -m 提供了更简洁的查看系统内存使用情况: 字符串和逻辑测试 字符串 逻辑测试 一元运算符,二元运算符和三元运算符 i ...
- Shell编程之条件语句(if语句,case分支语句)
Shell编程之条件语句 一.条件测试操作 1.test命令 2.文件测试 3.整数值比较 4.字符串比较 5.逻辑测试 二.if语句 单分支结构 双分支结构 多分支结构 三.case分支语句 一.条 ...
- case里面两个条件_Go语言条件语句之 switch 语句
点击上方蓝色 "铁匠学编程" 关注我,让我们一起学习! switch语句会根据传入条件不同,选择不同的分支执代码进行执行,他可以代替多个 if else 子句,Go 语言的分支语句 ...
- (24)Verilog HDL条件语句:case语句
(24)Verilog HDL条件语句:case语句 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL条件语句:case语句 5)结语 1.2 FP ...
- php case 多个条件判断语句,Shell case语句(多分支条件判断)
case 语句和 if-elif-else 语句一样都是多分支条件语句,不过和多分支 if 条件语句不同的是,case 语句只能判断一种条件关系,而 if 语句可以判断多种条件关系. case 语句的 ...
- Java修饰符、Java运算符、Java循环语句、Java条件语句、Java switch case
Java 修饰符 Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class ...
最新文章
- LightHouse/归并排序
- dotnet core高吞吐Http api服务组件FastHttpApi
- Windwos 08R2_DNS全面图文详解
- Lync Server 2013企业版部署系列之三:CA准备
- 著名的北邮ACM推荐50题
- Android实现计时与倒计时的几种方法
- java jsp交友系统_Jsp+Servlet+Javabean网络交友程序设计+源代码
- 计算机应用免费课件,计算机应用基础ppt课件 免费版
- 读取WIND数据(行情、基金净值等)的SAS程序
- 单片机24秒倒计时c语言,基于51单片机的篮球24秒倒计时器
- Rush Hour Puzzle
- 06年你看过《武林外传》吗?如果看过,就明白什么叫物是人非
- 使用阿里云服务器安装微擎教程环境搭建
- 投屏时 仅电脑屏幕、复制、扩展、仅第二屏幕的区别
- 比比看手机安全软件谁更强?【系统收藏】
- 手机QQ视频图像是反的——解决办法
- 考研逻辑-逻辑4主讲人:王超-2020-05-16
- ORACLE EBS常用标准表结构
- Pywinauto 中文文档
- 毕设项目:基于BS模型的在线OJ系统
热门文章
- SAP Spartacus里的product carousel控件
- 如何开启SAP CRM基于WORD模板创建附件的功能
- Groovy中的任务的自定义属性设置
- 如何查询SAP Cloud for Customer系统升级和维护时间
- sap-statistics in SAP UI5 http roundtrip
- 如何在SAP云平台ABAP编程环境里创建自己的Z表
- CM: How to get the complete url of a product attachment
- 使用report COM_PRODUCT_DELETE_SINGLE删除product
- How data type handler is got for AET extension field
- 如何找到SAP CRM WebClient UI error message的来源