数据库
首页 > 数据库> > 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