本节学习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的实例相关推荐

  1. python的for循环语句的用法及实例

    目录 1.for循环的语法及用法 (1)语法 (2)用法:可以遍历任何序列的对象,即列表.字符串.字典,或者通过序列索引来迭代. 2.for循环的实例 (1)迭代对象为列表 (2)迭代对象为字符串 ( ...

  2. 10 i lt shell的if_shell脚本编程之if、case条件语句

    程序执行三种顺序 顺序执行 选择执行 循环执行 选择执行语句: if语句 格式: 单分支: if 判断条件:then 条件分支代码 fi 双分支: if 判断条件:then 条件为真时语句 else ...

  3. C# 条件语句 if else 、 switch case 及练习题解析

    c#语句主要分为:顺序语句.选择语句(分支语句).循环语句 条件语句:  if  else 格式1: if() {} 格式2://二选一 if() {} else {} 格式3://多选一 if() ...

  4. shell编程之条件语句(文件测试,test命令,字符串和逻辑测试,if单支语句,if双支语句,if多支语句,case命令,用if写跑步小实验)

    文章目录 shell编程之条件语句 条件测试 test命令 整数值测试 free -m 提供了更简洁的查看系统内存使用情况: 字符串和逻辑测试 字符串 逻辑测试 一元运算符,二元运算符和三元运算符 i ...

  5. Shell编程之条件语句(if语句,case分支语句)

    Shell编程之条件语句 一.条件测试操作 1.test命令 2.文件测试 3.整数值比较 4.字符串比较 5.逻辑测试 二.if语句 单分支结构 双分支结构 多分支结构 三.case分支语句 一.条 ...

  6. case里面两个条件_Go语言条件语句之 switch 语句

    点击上方蓝色 "铁匠学编程" 关注我,让我们一起学习! switch语句会根据传入条件不同,选择不同的分支执代码进行执行,他可以代替多个 if else 子句,Go 语言的分支语句 ...

  7. (24)Verilog HDL条件语句:case语句

    (24)Verilog HDL条件语句:case语句 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL条件语句:case语句 5)结语 1.2 FP ...

  8. php case 多个条件判断语句,Shell case语句(多分支条件判断)

    case 语句和 if-elif-else 语句一样都是多分支条件语句,不过和多分支 if 条件语句不同的是,case 语句只能判断一种条件关系,而 if 语句可以判断多种条件关系. case 语句的 ...

  9. Java修饰符、Java运算符、Java循环语句、Java条件语句、Java switch case

    Java 修饰符 Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class ...

最新文章

  1. LightHouse/归并排序
  2. dotnet core高吞吐Http api服务组件FastHttpApi
  3. Windwos 08R2_DNS全面图文详解
  4. Lync Server 2013企业版部署系列之三:CA准备
  5. 著名的北邮ACM推荐50题
  6. Android实现计时与倒计时的几种方法
  7. java jsp交友系统_Jsp+Servlet+Javabean网络交友程序设计+源代码
  8. 计算机应用免费课件,计算机应用基础ppt课件 免费版
  9. 读取WIND数据(行情、基金净值等)的SAS程序
  10. 单片机24秒倒计时c语言,基于51单片机的篮球24秒倒计时器
  11. Rush Hour Puzzle
  12. 06年你看过《武林外传》吗?如果看过,就明白什么叫物是人非
  13. 使用阿里云服务器安装微擎教程环境搭建
  14. 投屏时 仅电脑屏幕、复制、扩展、仅第二屏幕的区别
  15. 比比看手机安全软件谁更强?【系统收藏】
  16. 手机QQ视频图像是反的——解决办法
  17. 考研逻辑-逻辑4主讲人:王超-2020-05-16
  18. ORACLE EBS常用标准表结构
  19. Pywinauto 中文文档
  20. 毕设项目:基于BS模型的在线OJ系统

热门文章

  1. SAP Spartacus里的product carousel控件
  2. 如何开启SAP CRM基于WORD模板创建附件的功能
  3. Groovy中的任务的自定义属性设置
  4. 如何查询SAP Cloud for Customer系统升级和维护时间
  5. sap-statistics in SAP UI5 http roundtrip
  6. 如何在SAP云平台ABAP编程环境里创建自己的Z表
  7. CM: How to get the complete url of a product attachment
  8. 使用report COM_PRODUCT_DELETE_SINGLE删除product
  9. How data type handler is got for AET extension field
  10. 如何找到SAP CRM WebClient UI error message的来源