『ORACLE』 PLSQL—case语句(11g)

本文通过一个具体的示例介绍了 SQL 中 CASE 语句的基本用法,展示了如何根据不同条件返回相应的结果,并处理了未匹配到的情况。

语法:

CASE selector 

WHEN exp1 then res1

WHEN exp2 then res2

WHEN exp3 then res3

...

[ELSE resN]

end;

SQL> declare
2 mygrade char(1):='A';
3 res varchar2(20);
4 begin
5 res :=
6 CASE mygrade
7 WHEN 'A' THEN 'The mark is 90-100'
8 WHEN 'B' THEN 'The mark is 80-90'
9 WHEN 'C' THEN 'The mark is 70-80'
10 WHEN 'D' THEN 'The mark is 60-70'
11 WHEN 'E' THEN 'The mark is 0-60'
12 END;
13 dbms_output.put_line(res);
14 end;
15 /
The mark is 90-100

PL/SQL procedure successfully completed.

SQL> 2
2* mygrade char(1):='A';

SQL> ch /'A'/'F'/
2* mygrade char(1):='F';
SQL> l
1 declare
2 mygrade char(1):='F';
3 res varchar2(20);
4 begin
5 res :=
6 CASE mygrade
7 WHEN 'A' THEN 'The mark is 90-100'
8 WHEN 'B' THEN 'The mark is 80-90'
9 WHEN 'C' THEN 'The mark is 70-80'
10 WHEN 'D' THEN 'The mark is 60-70'
11 WHEN 'E' THEN 'The mark is 0-60'
12 END;
13 dbms_output.put_line(res);
14* end;
SQL> /

PL/SQL procedure successfully completed.

SQL> declare
2 mygrade char(1):='F';
3 res varchar2(20);
4 begin
5 res :=
6 CASE mygrade
7 WHEN 'A' THEN 'The mark is 90-100'
8 WHEN 'B' THEN 'The mark is 80-90'
9 WHEN 'C' THEN 'The mark is 70-80'
10 WHEN 'D' THEN 'The mark is 60-70'
11 WHEN 'E' THEN 'The mark is 0-60'
12 ELSE 'The mark is null'
13 END;
14 dbms_output.put_line(res);
15 end;
16 /
The mark is null

PL/SQL procedure successfully completed.

转载于:https://www.cnblogs.com/KT-melvin/p/6850125.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值