case when用法
这篇文章在借鉴前人的基础上,进行了验证,感谢前人的分享
一、case when的使用方法
Case具有两种格式。简单Case函数和Case搜索函数。
第一种 格式 : 简单Case函数 :
格式说明
case 列名
when 条件值1 then 选项1
when 条件值2 then 选项2.......
else 默认值 end
eg:
select
case job_level
when '1' then '1111'
when '2' then '1111'
when '3' then '1111'
else 'eee' end
from dbo.employee
第二种 格式 :Case搜索函数
格式说明
case
when 列名= 条件值1 then 选项1
when 列名=条件值2 then 选项2.......
else 默认值 end
eg:
update employee
set e_wage =
case
when job_level = '1' then e_wage*1.97
when job_level = '2' then e_wage*1.07
when job_level = '3' then e_wage*1.06
else e_wage*1.05
end
提示:通常我们在写Case When的语句的时候,会容易忘记 end 这个结束,一定要记得哟!
比较: 两种格式,可以实现相同的功能。
简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,Case函数只返回第一个符合条件的 值,剩下的Case部分将会被自动忽略。
二、case when使用案例
下面我们来看一下,使用
Case
函数都能做些什么事情。
1、已知数据按照另外一种方式进行分组,分析
- 有如下数据:(为了看得更清楚,直接使用国家代码作为Primary Key)
![](/assets/blank.gif)
根据这个国家人口数据,统计各个大洲的人口数量
![](/assets/blank.gif)
- 用这个方法来判断工资的等级,并统计每一等级的人数
![](/assets/blank.gif)
![](/assets/blank.gif)
然后计算每一个等级的数量
![](/assets/blank.gif)
方法2:
![](/assets/blank.gif)
2、竖表转横表
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
3、根据条件有选择的update
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
转载于:https://www.cnblogs.com/ichenhao/p/8383866.html
case when用法相关推荐
- bash中case的用法
看到一些很实用的脚本,由于之前对于bash脚本的积累都比较离散,没有一个全面的了解,在这里记录一下: bash的case语句用法 case语句的语法规则是: case $变量名 in 模式1)命令序列 ...
- SQL CASE WHEN用法
SQL CASE WHEN用法 CASE 可能是 SQL 中被误用最多的关键字之一.虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法.例如,你可以在 WHERE 子句中使用 CASE . ...
- mysql case when 去重_【Mysql】 case ... when ... 用法
mysql case when用法 SELECT CASE WHEN `categoryid` =1THEN '参赛队员'ELSE '指导老师'END FROM `blog_article` WHER ...
- java case when用法_关于oracle case when的多种用法
1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索 ...
- case when用法java_Oracle CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索 ...
- Oracle中case when用法
转载自:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html CASE WHEN 表达式有两种形式 --简单Case函数 CA ...
- IsNull 和 SQL语句中CASE WHEN用法
[转]IsNull 和 SQL语句中CASE WHEN用法收藏 [转]IsNull 和 SQL语句中CASE WHEN用法 1.ISNULL 使用指定的替换值替换 NULL. ...
- java case switch面试_Java基础篇——Java中switch case语句用法及注意事项面试题9期
本文主要说一说关于switch case语句用法及注意事项,应对面试官的提问.希望可以帮助那些对switch存在错误和各种细节问题的"码友". switch-case注意事项 sw ...
- mysql日期函数之DATEDIFF() if()用法 case when用法
mysql日期函数之DATEDIFF() if()用法 case when用法 背景: 用户密码七天后会过期,用户修改密码时会同步添加修改时间进数据库, 登录时校验用户是否需要修改密码, 一开始想的时 ...
- Oracle CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索 ...
最新文章
- 删除windows7的隐藏分区
- Python3开发过程常见的异常(最近更新:2019-04-26)
- 为什么ConcurrentHashMap是弱一致的
- UserWarning: Update your `Conv2D`
- 【NOI2016】优秀的拆分(后缀数组)
- 【Linux 内核 内存管理】优化内存屏障 ④ ( 处理器内存屏障 | 八种处理器内存屏障 | 通用内存屏障 | 写内存屏障 | 读内存屏障 | 数据依赖屏障 | 强制性内存屏障 |SMP内存屏障 )
- python中import sys_笨方法学python之import sys与from sys import argv的区别
- matlab去掉空的元组,python – 删除pandas中包含空元组列表的行
- web 服务器的作用
- 机器学习 神经网络 神经元_神经网络如何学习?
- 耗时两个礼拜,8000字安卓面试长文,重难点整理
- Less颜色混合函数(14)
- 直接寻址、间接寻址、立即寻址
- 這是一位女生寫的 - 男生如何追求女生
- MacOS查找各Python版本的路径
- clickhouse建表语句行数太多导致报错 Unmatched parentheses: (
- 浏览器--搜索操作符15个实例
- 3 3 8 8四则运算得24
- VMware虚拟机之安装VMware虚拟机平台
- 知识付费,也逃不过“焦虑”的本质