首页 > 数据库技术 > 详细

数据库中CASE函数和Oracle的DECODE函数的用法

时间:2015-11-01 22:40:16      阅读:413      评论:0      收藏:0      [点我收藏+]

  1、CASE WHEN函数

  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数据库特有。


数据库中CASE函数和Oracle的DECODE函数的用法

原文:http://www.cnblogs.com/moleme/p/4928665.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!