我有一个包含3列的表格:c1,c2和c3。我想编写一条select语句,以便如果c1和c2都为空,则显示c3,否则显示c1。
在上述情况下,编写select语句的最佳方法是什么?
使用案例
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胜出。