ITPub博客

首页 > 数据库 > Oracle > Oracle中的decode函数

Oracle中的decode函数

Oracle 作者:liujing6910 时间:2013-05-17 22:41:04 0 删除 编辑

decode函数是Oracle中的一个非常好用的函数,它的主要用法如下:

decode(value, if1,then1,if2,then2...else)

即:判断value的值如果满足if1则返回then1,如果满足if2则返回then2,以此类推,否则的话返回else.

假如stuff表中有如下数据:

Oracle中的decode函数

 

我们希望统计出男女的人数,怎么写sql语句呢???

用这个吗:select count(*) from stuff where sex=

当然也可以,不过这个一次只能统计一个性别的人数,其实有更简单快捷的方法,那就是使用decode函数,看下面的sql语句:

select sum(decode(sex,,1,0)) as 男生人数,

sum(decode(sex,,1,0)) as 女生人数 from stuff

执行结果如下所示:


Oracle中的decode函数

 

可以看到,使用decode函数可以很方便的统计出不同性别的人数。

上面的例子中,decode函数是什么意思呢,我来解释一下:

decode(sex,,1,0):如果性别字段sex的值为,则返回1,否则返回0

sum(decode(sex,,1,0)):每一条sex的记录都会返回一个1,累加之后结果就是男生人数了,同理可用sum(decode(sex,,1,0))得到女生的人数。


<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11100592/viewspace-1117612/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论