===================case when then else end

(CASE ETDL.ETDL_TYPE
WHEN '00' THEN
'安装'
WHEN '01' THEN
'维修'
WHEN '02' THEN
'拆旧'
WHEN '03' THEN
'测量'
WHEN '04' THEN
'维修+拆旧'
WHEN '05' THEN
'安装+拆旧'
WHEN '06' THEN
'上样'
WHEN '07' THEN
'铺贴指导'
END) AS ETDL_TYPE, --服务类型

--简单Case函数
CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'
ELSE '其他' END

SELECT country 国家,
SUM(CASE WHEN sex='1' THEN population ELSE '0' END) 男,
SUM(CASE WHEN sex='2' THEN population ELSE '0' END) 女,
SUM(population) 总人口
FROM test_case
GROUP BY country;

效果如图:

国家 女      |   总人口
中国 340 260      |        600
美国 45 55      | 100   
加拿大 51 49        |100   
英国 40 60        |  100  

eg:统计人口

SELECT  SUM(population),CASE countryWHEN '中国'     THEN '亚洲'WHEN '印度'     THEN '亚洲'WHEN '日本'     THEN '亚洲'WHEN '美国'     THEN '北美洲'WHEN '加拿大'  THEN '北美洲'WHEN '墨西哥'  THEN '北美洲'ELSE '其他' END
FROM    Table_A
GROUP BY CASE countryWHEN '中国'     THEN '亚洲'WHEN '印度'     THEN '亚洲'WHEN '日本'     THEN '亚洲'WHEN '美国'     THEN '北美洲'WHEN '加拿大'  THEN '北美洲'WHEN '墨西哥'  THEN '北美洲'ELSE '其他' END;

Case函数不同于DECODE函数,在Case函数中,可以使用between,like,is null,in,exists等等。例如:有两个表,tbl_A,tbl_B,两个表中都有keyCol列。现在我们对两个表进行比较,tbl_A中的keyCol列的数据如果 在tbl_B的keyCol列的数据中可以找到, 返回结果'Matched',如果没有找到,返回结果'Unmatched'。

--使用IN的时候:SELECT keyCol,CASE WHEN keyCol IN (SELECT keyCol FROM tbl_B)THEN 'Matched'ELSE 'Unmatched' END LabelFRO tbl_A;--使用Exists的时候SELECT keyCol,CASE WHEN EXISTS (SELECT * FROM tbl_B WHERE tbl_A.keyCol=tbl_B.keyCol)THEN 'Matched' ELSE 'Unmatched' END LabelFROM tbl_A;

--相比较而言肯定使用第二种 exists 效率会更高。

引用:http://www.cnblogs.com/prefect/p/5746624.html

======================  decode

DECODE(
ETHC.ETHC_COST_CODE,
'YCF',
ETHC.ETHC_TOTAL_AMOUNT,
'0') AS LONGDISTANCEMODEL_UNIT_PRICE, --远程费

转载于:https://www.cnblogs.com/21heshang/p/6585918.html

oracle:case when then else end相关推荐

  1. case when then else_啃食Oracle:条件分支表达式CASE

    啃食Oracle:条件分支表达式CASE CASE表达式是条件分支表达式,类似于if - elsif -else条件分支语句.常见用法是在select的表达式列表中使用. 以下图示来自于官方文档 上图 ...

  2. oracle函数 case,oracle的case函数和case控制结构 (摘)

    oracle的case函数和case控制结构 =========================================================== 作者: zhouwf0726(ht ...

  3. Oracle的CASE语句和表达式

    http://space.itpub.net/15203236/viewspace-534849 Oracle的CASE语句和表达式 上一篇 /下一篇  2009-01-09 23:19:46 / 天 ...

  4. Oracle/PLSQL Case Statement

    Oracle/PLSQL: Case Statement In Oracle 9i, you can use the case statement within an SQL statement. I ...

  5. ORACLE:单行函数

    目录 一.函数介绍 二.函数分类 2.1 字符函数 lower.upper.initcap concat.substr.length.instr.lpad.rpad.trim.replace 2.2 ...

  6. java case 的错误_关于java:switch case语句错误:case表达式必须是常量表达式

    我的switch-case语句昨天运行得很好. 但是当我今天早些时候运行代码时,eclipse给了我一个错误,用红色突出显示case语句并说:case表达式必须是常量表达式,它是常量我不知道发生了什么 ...

  7. Oracle之case when用法

    前言 case when语法: CASE search_expression WHEN expression1 THEN result1 WHEN expression2 THEN result2 - ...

  8. su oracle : 只切换用户,而不切换环境;就是说切到oracle用户后,使用的依旧是root的环境。 su - oracle :同时切换用户和环境

    su oracle : 只切换用户,而不切换环境:就是说切到oracle用户后,使用的依旧是root的环境. su - oracle :同时切换用户和环境 su   oracle:不会执行oracle ...

  9. linux命令:case选择结构语句

    ]case命令简介:     此命令用于条件判断,选择结构. 1.命令格式: case SWITCH in      -----SWITCH 变量值 value1) statement     --- ...

最新文章

  1. oracle树形语句
  2. microscope image 3D reconstruction
  3. access函数_ACCESS中的DLookUp函数是如何运算的?
  4. tomcat开启cgi
  5. 网络拓扑发现原理研究
  6. 语法的集合?协议可没那么简单
  7. idea2017+kemulator搭建J2ME开发环境
  8. 以管理员身份进入linux,ubuntu 以管理员身份运行程序
  9. 六句顺口溜教你速记100以内质数表
  10. 【Pygame实战】超有趣的泡泡游戏来袭——愿你童心不泯,永远快乐简单哦~
  11. 软件开发:关于园林绿化工中级理论知识题题库的软件内容
  12. 苹果手机从企业微信进入小程序下载不了图片
  13. Graphics2D 使用详解 【转】
  14. python降低图片分辨率_手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定!...
  15. 商用厨房设备公司利邦国际申请纳斯达克IPO上市,募资2500万美元
  16. 【推荐】真正的安卓网络摄像机(Android IPCamera)任意浏览器输入IP地址即可观看视频
  17. numpy Week2.2
  18. 17位韩国美女17种味道(看看你喜欢那种?)
  19. Python 常用静态代码检查工具简介
  20. pyqt5标签中的字设置不同字体_PyQt5 实现字体大小自适应分辨率的方法

热门文章

  1. 公安信息通信网边界接入平台安全规范_【市场动态】3.56 亿元,阿里云中标青岛智慧公安项目...
  2. java word加粗_java word文档进行填充使用 ${xxx} 的形式
  3. 20190816:(leetcode习题)有效的数独
  4. 上海电力学院计算机组成与结构试卷,上海电力学院试卷及成绩管理办法
  5. disruptor小结--消费者
  6. [vb]全面控制 Excel
  7. 简单而常用的shell 命令
  8. 常见视频编码比较大全 常见视频解码技术资料1
  9. 自动给神经网络找bug,Google发布TensorFuzz
  10. 这个深度学习Model Zoo,真的有点像动物园? | 来自一只新加坡蓝精灵