语法是case
when
条件1
then
结果1
when
条件2
then
结果2
else
结果n
end,
可以有任意多个条件,如果没有默认的结果,最后的else也可以不写
百度知道编写PL/SQL程序块,给定一个员工号就可以显示其姓名...展开
badkano
知道合伙人体育行家
关注
成为第4110位粉丝
declare
v_sal number(10, 2)
v_ename varchar2(20)
begin
select ename, sal into v_ename, v_sal from emp where empno = &请输入工号
dbms_output.put_line('姓名:' || v_ename || ' 工资:' || v_sal)
exception
when no_data_found then
dbms_output.put_line('对不起,没有此员工!')
end
执行时,会提示你输入工号。输入7369,显示如下
输入1234(即表中不存在的工号),显示如下:
还有,你写的这个不是程序块,就是一个函数,而且写法还不对。
if else语句只有在存储过程,触发器之类的才有,今天突然在sql上当满足某种条件上要取不同的字段值,一开始直接网上查找相关资料,哇,sql上不支持!!!不过可以使用case when语句解决,各种数据库都支持。
语法:
case when 条件1 then 结果1 when 条件2 then 结果2 else 结果N end1
可以有任意多个条件,如果没有默认的结果,最后的else也可以不写,
select case when col1 >1 then col2 else col3 end from XXXtable
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)