一、含义

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 函数相关推荐

  1. SQL语句中:简单Case函数和Case搜索函数

    Case具有两种格式. 简单Case函数和Case搜索函数. --简单Case函数 CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女' ELSE '其他' END - ...

  2. SQL语句中 Case具有两种格式:简单Case函数和Case搜索函数

    转自:http://blog.csdn.net/IBM_hoojo/article/details/5546868 Case具有两种格式.简单Case函数和Case搜索函数.  --简单Case函数 ...

  3. SQL Case when 的使用方法

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Cas ...

  4. SQL CASE When THEN END 行列转换,复杂查询

    使用 CASE CASE 函数是特殊的 Transact-SQL 表达式,它允许按列值显式可选值.数据中的更改是临时的,没有对数据进行永久更改.例如,CASE 函数可以在 state 列中有 CA 值 ...

  5. sql case when 速记

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...

  6. SQL Case When Then 条件判断

    CASE     WHEN 条件1 THEN 结果1     WHEN 条件2 THEN 结果2     WHEN 条件3 THEN 结果3     WHEN 条件4 THEN 结果4 ....... ...

  7. SQL case when then 的用法

    sql case when then else end case具有两种格式.简单case函数和case搜索函数. --简单case函数 case sex when'1'then'男' when'2' ...

  8. (转)SQL Case when 的使用方法

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...

  9. SQL Case When Then

    适用sqlServer,oracle CASE     WHEN 条件1 THEN 结果1     WHEN 条件2 THEN 结果2     WHEN 条件3 THEN 结果3     WHEN 条 ...

  10. SERVER SQL CASE

    SERVER SQL CASE SERVER SQL CASE SERVER SQL CASE Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN ...

最新文章

  1. linux grep命令总结
  2. const在函数声明中的应用(转)
  3. python实现pdf转word详解_手把手|20行Python代码教你批量将PDF文件转为Word格式(包教包会)...
  4. mysql有没有单机版?
  5. BZOJ3453 XLkxc(拉格朗日插值)
  6. And Design:拓荒笔记——Form表单
  7. python中英文切换_vue根据按钮进行中英文切换
  8. Vue+Webpack使用规范
  9. DB 管理的重要工具(数据字典)
  10. 优科豪马冬季SUV轮胎G072的性能特点全解
  11. 气凝胶产业链都有?-供应银纳米粒子修饰碳球/石墨烯复合气凝胶/磷钨杂多酸修饰ZrO_2气凝胶/柠檬酸修饰纤维素气凝胶定制
  12. 让新股抢跑 -- 富途证券上线港股暗盘交易功能
  13. Linux之 prefix 命令
  14. 论计算机网络的安全性设计-1
  15. position的absolute属性
  16. 【算法基础】堆排序——O(nlogn)
  17. python2的n次方代码_关于python:*与**的2次幂运算
  18. php 选择列表,php实现的美国50个州选择列表实例
  19. 印刷文字识别-行驶证识别使用记录
  20. IBM实习日记——4.3

热门文章

  1. excel中单元格的引用方法
  2. MOSS入门教程:一步一步Sharepoint 2007系列
  3. 爬虫——Scrapy框架案例二:阳光问政平台
  4. 应用代码(4)——基于ADS1110芯片的高精度温度(PT1000)采集
  5. 从 flask 服务端代码自动生成客户端代码 -- flask-native-stubs 库介绍
  6. ls-dyna常用结构单元类型
  7. 面向对象编程思想详解汇总
  8. 深度搜索(DFS) 和 广度搜索(BFS)
  9. 运动目标检测发展概述
  10. java poi 设置标题_java POI操作word2010简单实现多级标题结构