oracle 在Oracle中利用sign函数实现if-elseif-end的功能

create table t8(grade number(8));
insert into t8 values(100);
insert into t8 values(45);
insert into t8 values(65);
insert into t8 values(85);
insert into t8 values(90);
insert into t8 values(60);
insert into t8 values(13);
commit;

select grade,decode(sign(grade-90+1),
1,'A',
decode(sign(grade-75+1),
1,'B',
decode(sign(grade-60+1),1,'C','D')
)
) grade_char
from t8
order by grade_char,grade;


13:43:36 select">buffsms@TESTA>select grade,decode(sign(grade-90+1),
13:43:49 2 1,'A',
13:43:49 3 decode(sign(grade-75+1),
13:43:49 4 1,'B',
13:43:49 5 decode(sign(grade-60+1),1,'C','D')
13:43:49 6 )
13:43:49 7 ) grade_char
13:43:49 8 from t8
13:43:49 9 order by grade_char,grade;

GRADE GR
-------------- --
90 A
100 A
85 B
60 C
65 C
13 D
45 D

已选择7行。

已用时间: 00: 00: 00.00


黑色头发:http://heisetoufa.iteye.com/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值