数据库中CASE函数和Oracle的DECODE函数的用法
2015-11-01 21:03
441 查看
1、CASE WHEN函数
Case具有两种格式。简单Case函数和Case搜索函数。
SELECT country,
SUM( CASE WHEN sex = '1' THEN population ELSE 0 END), --男性人口
SUM( CASE WHEN sex = '2' THEN population ELSE 0 END) --女性人口
FROM Table_A
GROUP BY country;
Case具有两种格式。简单Case函数和Case搜索函数。
--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END Case函数只返回第一个符合条件的值,后面的将会全部忽略。 例如:表数据有3列(country国家,sex性别,population人口)。 统计每个国家的男女人口数。
SELECT country,
SUM( CASE WHEN sex = '1' THEN population ELSE 0 END), --男性人口
SUM( CASE WHEN sex = '2' THEN population ELSE 0 END) --女性人口
FROM Table_A
GROUP BY country;
2、DECODE函数
DECODE(value, if1, then1, if2, then2, if3, then3,...ifn, thenn, else) 表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。 亦即:decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)。 decode函数属oracle数据库特有。
相关文章推荐
- 【转】Oracle集合操作函数:union、intersect、minus
- oracle Instance status: READY–lsnrctl status|start|stop
- oracle tns in linux
- Oracle(一)
- springmvc mybatis 整合 框架源码 bootstrap html5 mysql oracle spring
- springmvc+mybatis+spring 整合 bootstrap html5 mysql oracle
- Oracle 多实例如何通过EM进行访问-portlist.ini
- Oracle普通表转分区表的几种方法
- oracle command - creata database dbca & create network netca Demo
- oracle中的分支与循环语句
- oracle ASM kfod 不太常用的几个参数
- oracle .bash_profile
- oracle portlist.ini
- Setup Oracle 11gR2 for Redhat Linux AS 4 Update 7 x64
- Oracle 12C -- 设置CDB启动后,PDBs自动启动
- oracle ORA-12519,TNS:no appropriate service handler found的
- Oracle 12C -- shutdown CDB
- Oracle 12C -- CDB的启动过程
- Oracle 12C -- 统一启动/关闭PDBs
- ORACLE数据库的基本语法集锦