标签: sql oracle
我有一个包含3列的表:c1,c2和c3。 我想编写一个select语句,这样如果c1和c2都为null,则显示c3,否则显示c1。
在上述场景中编写select语句的最佳方法是什么?
答案 0 :(得分:7)
使用CASE
CASE WHEN C1 IS NULL AND C2 IS NULL THEN C3 ELSE C1 END
使用NVL2
NVL2(C1,C1,NVL2(C2,C1,C3))
OR
NVL2(C1||C2,C1,C3)
使用DECODE
DECODE(C1,NULL,DECODE(C2,NULL,C3,C1),C1)
可读性和易用性CASE获胜。