mysql case then使用
来源:互联网 发布:淘宝导航条怎么隐藏 编辑:程序博客网 时间:2024/06/16 05:41
表的创建
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'
原文地址:https://www.cnblogs.com/xiangxiaodong/archive/2013/06/04/3116679.html
- mysql case then使用
- mysql case then使用
- mysql中case when then 的使用
- mysql case when then end使用方式
- MYSQL--case...when...then
- MySQL CASE WHEN THEN
- 【DB】MySQL中case when then 的使用
- mysql数据库中case...when...then...end语句的使用
- MYSQL数据库:case when then
- case where then 的使用
- MySQL数据库:case when then else end
- Mysql-----case when then else end
- mysql case when then else end 用法
- MySQL函数之CASE WHEN THEN
- MySQL case when then else end 用法
- MySQL case when then else end 用法
- mysql中case when then 语句
- mysql case when then else 用法
- CS 400 Coprime Pairs 构造!!!
- QT中文乱码的本质
- K-Dominant Character CodeForces
- 乐观锁与悲观锁
- linux 用top命令查看系统健康状态
- mysql case then使用
- 习题5 5.10
- java连接到mysql
- NOIP2017游记
- 时钟
- Java异常处理与常见异常
- 大数据1-Hbase原理、基本概念、基本架构
- NOIP2017训练日记
- Codeforces Round #294 (Div. 2) E. A and B and Lecture Rooms(lca+思维,树上寻找与给定两个点距离相等的点的个数)