Oracle中条件表达式

本文介绍了Oracle数据库中条件表达式的使用,包括与MySQL的对比,强调了Oracle在处理条件时可以省略ELSE部分的特点,同时指出在Oracle中别名可以不使用双引号的特殊性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;

别名也可以不加双引号
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值