oracle case when 用法
来源:互联网 发布:数据公司干什么的 编辑:程序博客网 时间:2024/06/05 19:06
1. CASE WHEN 表达式有两种形式
--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END
2. CASE WHEN 在语句中不同位置的用法
2.1 SELECT CASE WHEN 用法
SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位女生*/ ELSE NULL END) 男生数, COUNT (CASE WHEN sex = 2 THEN 1 ELSE NULL END) 女生数 FROM students GROUP BY grade;
2.3 WHERE CASE WHEN 用法
SELECT T2.*, T1.* FROM T1, T2 WHERE (CASE WHEN T2.COMPARE_TYPE = 'A' AND T1.SOME_TYPE LIKE 'NOTHING%' THEN 1 WHEN T2.COMPARE_TYPE != 'A' AND T1.SOME_TYPE NOT LIKE 'NOTHING%' THEN 1 ELSE 0 END) = 1
2.4 GROUP BY CASE WHEN 用法
SELECT CASE WHEN salary <= 500 THEN '1' WHEN salary > 500 AND salary <= 600 THEN '2' WHEN salary > 600 AND salary <= 800 THEN '3' WHEN salary > 800 AND salary <= 1000 THEN '4' ELSE NULL END salary_class, -- 别名命名COUNT(*) FROM Table_A GROUP BY CASE WHEN salary <= 500 THEN '1' WHEN salary > 500 AND salary <= 600 THEN '2' WHEN salary > 600 AND salary <= 800 THEN '3' WHEN salary > 800 AND salary <= 1000 THEN '4' ELSE NULL END;
3.关于IF-THEN-ELSE的其他实现
3.1 DECODE() 函数
select decode(sex, 'M', 'Male', 'F', 'Female', 'Unknown')from employees;
貌似只有Oracle提供该函数,而且不支持ANSI SQL,语法上也没CASE WHEN清晰,个人不推荐使用。
3.2 在WHERE中特殊实现
SELECT T2.*, T1.* FROM T1, T2 WHERE (T2.COMPARE_TYPE = 'A' AND T1.SOME_TYPE LIKE 'NOTHING%') OR (T2.COMPARE_TYPE != 'A' AND T1.SOME_TYPE NOT LIKE 'NOTHING%')
0 0
- oracle case when 用法
- Oracle case when 用法
- Oracle case when用法
- oracle case when 用法
- oracle case when 用法
- oracle case when 用法
- Oracle case when用法
- oracle case when用法
- oracle case when 用法
- oracle case when 用法
- Oracle case when 用法
- ORACLE CASE WHEN 的用法
- oracle case when的用法
- oracle case when的用法
- oracle case when的用法
- Oracle CASE WHEN 用法介绍
- oracle case when的用法
- Oracle CASE WHEN 用法介绍
- Scala学习笔记-方法和函数
- C/C++获得当前程序路径
- MarkDown试水
- Objective-C面试题(精心整理的,附答案)
- NYOJ 540 奇怪的排序
- oracle case when 用法
- html5学习 一 html5选择器与json新方法html5拖拽
- TCP协议与UDP协议的区别
- Kettle的null与空字符串处理
- AIDL(接口定义语言)的使用步骤
- 自定义控件:图片轮播,点击图片进入webview
- jQuery 获取屏幕高度、宽度
- javascript要点
- Hadoop配置前的工作(配置IP、开机后自动联网、关闭防火墙、selinux)