条件语句主要作用是根据条件的变化选择执行不同的代码。
1、if语句
【实例】指定一个月份数值,然后使用if…then…elsif语句判断它所属的季节,并输出季节信息。
declare
month int:=10; –定义整型变量并赋值
begin
if month>=0 and month<=3 then –判断春季
dbms_output.put_line(‘这是春季’);
elsif month>=4 and month<=6 then –判断夏季
dbms_output.put_line(‘这是夏季’);
elsif month>=7 and month<=9 then –判断秋季
dbms_output.put_line(‘这是秋季’);
elsif month>=10 and month<=12 then –判断冬季
dbms_output.put_line(‘这是冬季’);
else
dbms_output.put_line(‘对不起,月份不合法!’);
end if;
end;
2、case语句
【实例】指定一个季节数值,然后使用case语句判断它所包含的月份信息并输出。
declare
season int:=3; –定义整型变量并赋值
aboutInfo varchar2(50); –存储月份信息
begin
case season –判断季度
when 1 then –若是1季度
aboutInfo:=season||’季度包括1,2,3月份’;
when 2 then –若是2季度
aboutInfo:=season||’季度包括4,5,6月份’;
when 3 then –若是3季度
aboutInfo:=season||’季度包括7,8,9月份’;
when 4 then –若是4季度
aboutInfo:=season||’季度包括10,11,12月份’;
else –若季度不合法
aboutInfo:=season||’季度不合法’;
end case;
dbms_output.put_line(aboutInfo); –输出该季度所包含的月份信息
end;
【实例】在SCOTT模式下,查询dept表并使用case语句判断部门名称。
–简单Case函数写法
select deptno,dname,
case dname
when ‘ACCOUNTING’ then ‘会计部’
when ‘RESEARCH’ then ‘研究部’
when ‘SALES’ then ‘销售部’
when ‘OPERATIONS’ then ‘运营部’
else ‘其他部门’
end 部门名称
from dept;
–Case搜索函数写法
select deptno,dname,
case
when dname = ‘ACCOUNTING’ then ‘会计部’
when dname = ‘RESEARCH’ then ‘研究部’
when dname = ‘SALES’ then ‘销售部’
when dname = ‘OPERATIONS’ then ‘运营部’
else ‘其他部门’
end 部门名称
from dept;