Oracle中是用case...when语句进行判断
使用case...when语句进行判断,其语法格式如下:
case<selector>
when<expression_1> then pl_sqlsentence_1;
when<expression_2> then pl_sqlsentence_2;
...
when<expression_n> then pl_sqlsentence_n;
[else plsql_sentence;]
end case;
具体例子如下:
declare v_season int:=3; autoinfo varchar2(50); begin case v_season when 1 then autoinfo :=v_season||'季节包括1,2,3月份'; when 2 then autoinfo :=v_season||'季节包括4,5,6月份'; when 3 then autoinfo :=v_season||'季节包括7,8,9月份'; when 4 then autoinfo :=v_season||'季节包括10,11,12月份'; else autoinfo :=v_season||'季节不合法'; end case; dbms_output.put_line(autoinfo); end;
输出结果:
3季节包括7,8,9月份
在使用case...when 时候,只需要写一个case就ok,不可以写多个,错误写法如下:
declare v_season int:=3; autoinfo varchar2(50); begin case v_season when 1 then autoinfo :=v_season||'季节包括1,2,3月份'; case v_season when 2 then autoinfo :=v_season||'季节包括4,5,6月份'; case v_season when 3 then autoinfo :=v_season||'季节包括7,8,9月份'; case v_season when 4 then autoinfo :=v_season||'季节包括10,11,12月份'; else autoinfo :=v_season||'季节不合法'; end case; dbms_output.put_line(autoinfo); end;
如果这样写的话,语法是错误的,在运行pl/sql块时候会出现错误。
作者:奔跑的金鱼
声明:书写博客不易,转载请注明出处,请支持原创,侵权将追究法律责任
个性签名:人的一切的痛苦,本质上都是对自己无能的愤怒
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!