oracle数据库中end if,在Oracle中利用sign(),decode()实现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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值