表的创建

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

数据插入:

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');

第一种用法:

SELECT name,

CASE WHEN birthday < '1981' THEN 'old'

WHEN birthday > '1988' THEN 'yong'

ELSE 'ok' END YORN

FROM lee

第二种用法:

SELECT NAME, CASE name

WHEN 'sam' THEN 'yong'

WHEN 'lee' THEN 'handsome'

ELSE 'good' END as oldname

FROM lee

第三种:当然了,case when 语句还可以复合

select name, birthday,

case

when birthday > '1983' then 'yong'

when name='lee' then 'handsome'

else 'just so so' end

from lee;

在这里用sql语句进行日期比较的话,需要对年加引号,要不然可能结果和预期的结果不同,

当然也可以用year函数来实现

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);

第一题:对罚款登记分为三类,第一类low,包括大于0小于等于40的罚款,第二类moderate大于40到80之间的罚款,第三类high包含所有大于80的罚款

select payment_date, amount,

case

when amount >= 0 AND amount < 40 then 'low'

when amount >=40 AND amount < 80 then 'moderate'

when amount >=80 then 'high'

else 'null' END

FROM penalties

第二题:统计出属于low的罚款编号

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'

前锋mysql视频教程_mysql case then使用相关推荐

  1. 前锋mysql视频教程_足球与oracle系列(4):从巴西惨败于德国,想到,差异的RAC拓扑...

    足球与oracle系列(4):从巴西惨败于德国,想到,差异的RAC拓扑对比! 前期回顾: 本来想说今晚,回头一想,应该是今早第二场半决赛就要开战了!先来回味一下之前的比赛,本届8支小组赛第一名已经全部 ...

  2. mysql数据库 when_mysql case when怎样运用?_数据库

    mysql case when用法: MySQL 的 case when 的语法有两种: 简朴函数 CASE [col_name] WHEN [value1] THEN [result1]-ELSE ...

  3. 刘道成mysql视频教程_燕十八刘道成Mysql 系列视频教程 Mysql视频教程打包下载

    课程名称 燕十八刘道成Mysql 系列视频教程 Mysql视频教程打包下载 课程介绍 本教程完全从初学者的角度出发,循序渐进,逐步深入,确保每一位初学者能够理解和掌握,进而达到精通的程度,本套教程非常 ...

  4. mysql sum计算效率很慢_MySQL--RDS下的分区表实践(文末附MySQL视频教程与面试题)...

    实践背景 项目中有的表空间太大,且行数太多,故决定对一些表进行分库分表.再研究选型方案的时候发现常用的一些分库分表的解决方案对业务代码修改较多,故决定采用MySQL的分区方案. 其实在我个人看来,分区 ...

  5. 老男孩mysql高级专业dba实战课程_老男孩MySQL高级专业DBA实战课程/高级运维DBA课程/MySQL视频教程下载...

    课程名称 老男孩MySQL高级专业DBA实战课程/高级运维DBA课程/MySQL视频教程下载 课程目录 第一部 MySQL基础入门(21节) 第二部 MySQL多实例安装与企业应用场景(10节) 第三 ...

  6. mysql 编程_MySQL编程

    MySQL 使用标准 SQL 检索和处理数据,体积小.开源.免费,易于快速部署.正是因为这些特点,使得其在互联网行业,特别是 Web 应用方面使用相当广泛.至今最新的版本已到 8.0. 一 基本操作 ...

  7. 一头扎进Mysql视频教程 + 源码

    [@2015-4-8] 记录一下自己的脚印:看到一个一头扎进Mysql视频教程 + 源码果断下载下来,看了看比较到位, 下载地址:http://www.xiaomengku.com/topic?id= ...

  8. 一头扎紧mysql_[www.java1234.com]一头扎进Mysql视频教程

    资源内容: [www.java1234.com]一头扎进Mysql视频教程|____一头扎进Mysql视频教程源码.rar|____[www.java1234.com]<一头扎进Mysql> ...

  9. MySQL 入门:Case 语句很好用

    引言 MySQL CASE 是一个 MySQL 语句查询关键字,它定义了处理循环概念以执行条件集并使用 IF ELSE 返回匹配案例的方式. MySQL 中的 CASE 是一种控制语句,它验证条件案例 ...

最新文章

  1. c++文件读取空格_程序员术与道:术—C语言对文件进行处理,文件处理的基本操作...
  2. 米家电磁炉显示e10_小米“米家电磁炉C1”评测:7挡火力,2100W大功率设计
  3. CloudCC:为企业业绩而生的CRM系统
  4. CentOS 5 全攻略 -- 一步一步配置详解
  5. No module named pip
  6. 非阻塞线程安全列表——ConcurrentLinkedDeque应用举例
  7. 山东传媒职业学院计算机专业,山东传媒职业学院计算机多媒体技术专业2017年在内蒙古文科高考录取最低分数线...
  8. android studio在夜神上打开_Android Studio 找不到夜神模拟器的解决办法
  9. Java实习日记(2-1)
  10. windows系统上删除顽固文件
  11. Java不停的gc_java – 我的应用程序不断运行Full GC!
  12. 我对职业规划和未来发展的一些思考
  13. 图解电影的网站有那些?
  14. 经典《像素鸟》游戏,难道你不想自己动手开发一个嘛(附源码免费下载)
  15. MySQL之Xtrabackup备份恢复数据库
  16. “猫爪杯”遭国人疯抢,“大白兔冰淇淋”在美国大火
  17. 一个简单的密码登陆界面。C语言
  18. 分数阶傅里叶变换Transformer
  19. javaweb 从数据库读取数据的详细操作
  20. springboot2.0日志配置 logback的使用和logback.xml详解

热门文章

  1. Unity3D游戏开发之使用Unity3D开发2D游戏 (一)
  2. geoserver is read-only问题解决
  3. 上海python工资一般多少钱-Python开发的工资一般多少
  4. MQTTBox下载及设置相关参数
  5. 绝非奇闻怪谈 中国街头骗术大全
  6. html在文本框中显示内容,js如何实现点击标签文字,文字在文本框出现
  7. html5可折叠面板,纯CSS3炫酷3D折叠面板动画特效
  8. 游戏开发应该关注质量而不是数量
  9. 三种方法解决[Intervention] Ignored attempt to cancel a touchmove event with cancelable=false
  10. 鸿蒙mate9,鸿蒙系统+9个频段5G网络华为Mate40,华为Mate30闻声价崩真给力