条件语句主要作用是根据条件的变化选择执行不同的代码。
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,case when dname = 'ACCOUNTING' then '会计部' when dname = 'RESEARCH' then '研究部' when dname = 'SALES' then '销售部' when dname = 'OPERATIONS' then '运营部' else '其他部门' end 部门名称 from dept;