条件表达式函数

decode

不同工种按照一定得比例涨工资

select empno,ename,job,sal,decode(job,'PRESIDENT',1.10*sal,
                                           'ANALYST',1.30*sal,
                                           'MANAGER',1.30*sal,
                                           'SALESMAN',1.20*sal,
                                           sal) raisedsal
  from emp order by job;

当工种是PRESIDENT是涨工资10%,当工种是ANALYST时涨工资30%以此例推,其他没有标明表达式的的工资为sal也就是没有涨工资。

注意decode字段最好要指定别名,否则这个字段头可能会过长。

case

   SQL>select empno,ename,job,sal,case job when 'PRESIDENT' then 1.10*sal
                                         when 'ANALYST'   then 1.30*sal
                                         when 'MANAGER'   then 1.30*sal
                                         when 'SALESMAN'  then 1.20*sal
                                         else sal  end  raisedsal
    from emp order by job;

当工种是PRESIDENT是涨工资10%,当工种是ANALYST时涨工资30%以此例推,其他没有标明表达式的的工资为sal也就是没有涨工资。

注意case字段最好要指定别名,否则这个字段头可能会过长。注意表达式没有”,"分隔符。

 

decode和case都是单行函数。

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

转载于:http://blog.itpub.net/20844861/viewspace-594628/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值