Oracle中两个case的区别


select autoid,stu_id, sub_id, score from t_score

AUTOID STU_ID SUB_ID SCORE
1 S0001 SUB001 90.00
2 S0002 SUB001 80.00
3 S0001 SUB002 50.00
4 S0002 SUB002 20.00
5 S0003 SUB002 0.00
6 S0003 SUB001 85.00
7 S0001 SUB001 80.00
8 S0002 SUB001 66.00

要求:85以上显示为“优秀”,60以下为“不及格”,其它为“及格”。
SQL语句为:
select autoid,stu_id, sub_id, score,
(case
    when score>=85 then '优秀'
    when score<60  then '不及格'
    else '及格'
  end
) memo
from t_score

语法:
(case when ? then ? else ? end)

★注意:结束是“End”。
★区别于存储过程中的case分支语句,语法为:
Case
  When (...) Then
       ...;
  When (...) Then
       ...;
  Else ...;
End Case;
★注意:结束是“End Case”。
在项目中的实例:
   n1:=1;--动态计算
   n2:=3;--动态计算
   case
     when (n1-n2)<0 then str:='名次上升';
     when (n1-n2)>0 then str:='名次下降';
     else str:='名次不变';
   end case;

<!--v:3.2-->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值