oracle 函数sign()、ABS()、decode()、case when、

sign()函数:取数字n的符号,大于0返回1,小于0返回-1,等于0返回0

e.g.select sign( 100 ),sign(- 100 ),sign( 0 ) from dual; 

  1. 1.SIGN(123 ) SIGN(- 100 )   SIGN( 0 )     
  2. 2.--------- ---------- ---------     
  3. 3.    1            - 1           0     

绝对值 ABS()
 SQL> SELECT ABS(-7), ABS(7) FROM DUAL;
 ABS(-7)     ABS(7)
 ---------- ----------
   7          7

select a.*,decode(sign(a.房租-b.房租),1,'奢侈','普通')
 from 表名 a,
 (select 城市,avg(房租) 房租 from 表名 group by 城市) b
 where a.城市=b.城市
 
select decode(sign(sal-2000),-1,'普通',0,'正常','奢侈'),sal from emp;
 
case when..
 update personal
 set salary= case when salary>=5000
             then salary*0.9
             when salary>=2000 and salary<4600
             then salary*1.15
             else salary end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值