小编典典

Oracle SQL处理空值

sql

我有一个包含3列的表格:c1,c2和c3。我想编写一条select语句,以便如果c1和c2都为空,则显示c3,否则显示c1。

在上述情况下,编写select语句的最佳方法是什么?


阅读 34

收藏
2021-04-28

共1个答案

小编典典

使用案例

CASE WHEN C1 IS NULL AND C2 IS NULL
     THEN C3
     ELSE C1
END

使用NVL2

NVL2(C1,C1,NVL2(C2,C1,C3))

或者

NVL2(C1||C2,C1,C3)

使用解码

DECODE(C1,NULL,DECODE(C2,NULL,C3,C1),C1)

易读性和易用性CASE胜出。

2021-04-28