oracle条件里不能为空表达式,Oracle中条件表达式
mysql和Oracle都可以用
--条件表达式
--给EMP表中的员工起中文名字
select e.ename,
case e.ename
when 'SMITH' then '曹贼'
when 'ALLEN' then '大耳贼'
when 'WARD' then '诸葛小儿'
else '无名'
end
from emp e;

else可以省略,不加else条件时:
select e.ename,
case e.ename
when 'SMITH' then '曹贼'
when 'ALLEN' then '大耳贼'
when 'WARD' then '诸葛小儿'
end
from emp e;
其他都为null

--判断如果EMP表中员工工资高于3000显示高收入,低于3000但高于1500中等收入
--低于1500低收入
select e.sal,
case
when e.sal>3000 then '高收入'
when e.sal>1500 then '中等收入'
else '低收入'
end
from emp e;

Oracle专用
--oracle专用条件表达式
select e.ename,
decode(e.ename,
'SMITH', '曹贼',
'ALLEN', '大耳贼',
'WARD', '诸葛小儿',
'无名')
from emp e;

--oracle中除了起别名都用单引号
--oracle专用条件表达式
select e.ename,
decode(e.ename,
'SMITH', '曹贼',
'ALLEN', '大耳贼',
'WARD', '诸葛小儿',
'无名')"别名"
from emp e;
别名也可以不加双引号

标签:ename,SMITH,when,大耳贼,表达式,条件,Oracle,select,emp
来源: https://blog.csdn.net/qq_34721292/article/details/90550461
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
