sql CASE WEN 函数
一、含义
case when 相当于 java 语言中的 if {} esle {} 判断、switch case 语句。该语句执行时,先对条件进行判断,然后根据判断结果进行响应的操作。
Case 有两种格式:简单Case函数 和 Case搜索函数
简单Case 函数:
CASE numWHEN '1' THEN '小学生'WHEN '2' THEN '中学生'WHEN '3' THEN '高中生'WHEN '4' THEN '大学生'ELSE ‘未知错误’ END
Case 搜索函数:
CASE WHEN num = '1' THEN '小学生'WHEN num = '2' THEN '中学生'WHEN num = '3' THEN '高中生'WHEN num = '4' THEN '大学生'ELSE ‘未知错误’ END
THEN 后边的值应与ELSE的值类型相同,否则会报错,如下:
CASE SCORE WHEN '1' THEN '小学生' ELSE 0 END
'优'和0数据类型不一致则报错:
[Err] ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER
二、示例
老师要统计班中有多少男生,多少女生,及格的男生有多少,及格的女生有多少
表结构如下:其中STU_SEX字段,0表示男生,1表示女生。
STU_ID | STU_NAME | STU_SEX | STU_SCORE |
1 | a | 0 | 88 |
2 | b | 0 | 55 |
3 | c | 0 | 45 |
4 | d | 1 | 66 |
5 | e | 1 | 77 |
6 | f | 1 | 88 |
查询语句如下:
SELECT SUM (CASE WHEN STU_SEX = 0 THEN 1 ELSE 0 END) AS MALE_COUNT,SUM (CASE WHEN STU_SEX = 1 THEN 1 ELSE 0 END) AS FEMALE_COUNT,SUM (CASE WHEN STU_SCORE >= 60 AND STU_SEX = 0 THEN 1 ELSE 0 END) AS MALE_PASS,SUM (CASE WHEN STU_SCORE >= 60 AND STU_SEX = 1 THEN 1 ELSE 0 END) AS FEMALE_PASS
FROM THTF_STUDENTS
输出:
MALE_COUNT | FEMALE_COUNT | MALE_PASS | FEMALE_PASS |
3 | 3 | 1 | 3 |
sql CASE WEN 函数相关推荐
- SQL语句中:简单Case函数和Case搜索函数
Case具有两种格式. 简单Case函数和Case搜索函数. --简单Case函数 CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女' ELSE '其他' END - ...
- SQL语句中 Case具有两种格式:简单Case函数和Case搜索函数
转自:http://blog.csdn.net/IBM_hoojo/article/details/5546868 Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 ...
- SQL Case when 的使用方法
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Cas ...
- SQL CASE When THEN END 行列转换,复杂查询
使用 CASE CASE 函数是特殊的 Transact-SQL 表达式,它允许按列值显式可选值.数据中的更改是临时的,没有对数据进行永久更改.例如,CASE 函数可以在 state 列中有 CA 值 ...
- sql case when 速记
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- SQL Case When Then 条件判断
CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 WHEN 条件3 THEN 结果3 WHEN 条件4 THEN 结果4 ....... ...
- SQL case when then 的用法
sql case when then else end case具有两种格式.简单case函数和case搜索函数. --简单case函数 case sex when'1'then'男' when'2' ...
- (转)SQL Case when 的使用方法
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- SQL Case When Then
适用sqlServer,oracle CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 WHEN 条件3 THEN 结果3 WHEN 条 ...
- SERVER SQL CASE
SERVER SQL CASE SERVER SQL CASE SERVER SQL CASE Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN ...
最新文章
- linux grep命令总结
- const在函数声明中的应用(转)
- python实现pdf转word详解_手把手|20行Python代码教你批量将PDF文件转为Word格式(包教包会)...
- mysql有没有单机版?
- BZOJ3453 XLkxc(拉格朗日插值)
- And Design:拓荒笔记——Form表单
- python中英文切换_vue根据按钮进行中英文切换
- Vue+Webpack使用规范
- DB 管理的重要工具(数据字典)
- 优科豪马冬季SUV轮胎G072的性能特点全解
- 气凝胶产业链都有?-供应银纳米粒子修饰碳球/石墨烯复合气凝胶/磷钨杂多酸修饰ZrO_2气凝胶/柠檬酸修饰纤维素气凝胶定制
- 让新股抢跑 -- 富途证券上线港股暗盘交易功能
- Linux之 prefix 命令
- 论计算机网络的安全性设计-1
- position的absolute属性
- 【算法基础】堆排序——O(nlogn)
- python2的n次方代码_关于python:*与**的2次幂运算
- php 选择列表,php实现的美国50个州选择列表实例
- 印刷文字识别-行驶证识别使用记录
- IBM实习日记——4.3