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

被折叠的 条评论
为什么被折叠?



