ORACLE CASE WHEN的用法与实现

本文介绍了一种使用 SQL 的 CASE WHEN 语句来从多个字段中选择非空值的方法。具体应用场景为:当传入一个标识符时,从 DAT_PART 表的 PART_NO、PART_PNO 和 PART_MNO 三个字段中返回唯一有值的那一个。此方法适用于仅有一个字段含有有效数据的情况。

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

 

例如:DAT_PART表中有三个栏位(PART_NO,PART_PNO,PART_MNO),传一个PART_ID值过来,查询出三个栏位中有值的那个栏位值(前提条件是三个栏位中只会一个有值),下面sql Code可以实现此功能.

 

 SELECT (
              CASE WHEN(A.PART_NO IS NULL AND A.PART_PNO IS NULL) THEN A.PART_MNO
              WHEN(A.PART_NO IS NULL AND A.PART_MNO IS NULL) THEN A.PART_PNO
              ELSE A.PART_NO
              END
      )AS V_PART_NO
      FROM DAT_PART A WHERE A.PART_ID=209435;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值