oracle中的函数

case 函数

1、简单case函数

例1:

case sex

when '1'  then '男'

when '2' then '女'

else '其他' end

例2:

case when sex='1' then '男'

          when sex='2' then '女'

          else '其他' end

例3:

select (case when citynum='1' then '市中公司'
                     when citynum='2' then '东昌府'
                     when citynum='11' then '客服中心'
                     else '其他县区'
                     end ) as myCity
from t_city

例4:
select count(*)
from t_city group by
case when citynum='1' then '市中公司'
                     when citynum='2' then '东昌府'
                     when citynum='11' then '客服中心'
                     else '其他县区'
                     end

一般语法:

select (

case when A then sthA when B then sthB when C  then stnC else sthE end

) as myColoum from t_table

 

decode函数

语法:decode(value,if1,then1,if2,then2,……else)

1)value代表某个表的任何类型的任意列,或一个通过计算所得的任何结果

2)当每个value值被测试,如果值为if1,decode函数的结果是then1,如果value的值为if2,则decode函数的结果是then2

3)可以给出多个if/then配对

4)如果value不等于任何给出的配对,则返回else

例:

sum(decode(progress,'归档','1','临时归档','1',0))

即:如果progress是‘归档’或‘临时归档’,则统计结果加1,否则不加

 

sign(n)函数

作用:取数字n的符号,大于0返回1,小于0返回-1,等于0返回0,可以用来判断两个变量的大小

例:

select decode(sign(变量1-变量2),-1,变量1,变量2)

即:变量1减去变量2,如果结果小于零,则返回-1,那么查询结果返回变量1,否则返回变量2,也就是比较了两个变量,返回较小的变量

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值