oracle 中 case的用法

本文详细介绍了Oracle数据库中CASE函数的使用方法,包括简单的CASE函数和CASE搜索函数,并通过实例展示了如何结合IN和EXISTS进行复杂条件判断,指出使用EXISTS通常效率更高。

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

oracle 中 case的用法

--简单Case函数
select CASE sex
         WHEN '1' THEN ''
         WHEN '2' THEN ''
ELSE '其他' END
--Case搜索函数
select CASE WHEN sex = '1' THEN ''
         WHEN sex = '2' THEN ''
ELSE '其他' END

 

Case函数不同于DECODE函数,在Case函数中,可以使用between,like,is null,in,exists等等。
--使用IN的时候:
SELECT keyCol,
CASE WHEN keyCol IN (SELECT keyCol FROM tbl_B)
THEN 'Matched'
ELSE 'Unmatched' END Label
FRO tbl_A;
--使用Exists的时候
SELECT keyCol,
CASE WHEN EXISTS (SELECT * FROM tbl_B WHERE tbl_A.keyCol=tbl_B.keyCol)
THEN 'Matched' ELSE 'Unmatched' END Label
FROM tbl_A;
--相比较而言肯定使用第二种 exists 效率会更高。

转载于:https://www.cnblogs.com/pypua/articles/7427126.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值