我在DB2中遇到COALESCE
函数的问题。
我的陈述:
SELECT COALESCE(ATTR,'NA') FROM TABLE WHERE %condition%
如果基于条件找到ATTR,那么SELECT返回ATTR的值,但是如果没有找到ATTR,那么我希望SELECT返回" NA"。但是,它不返回任何行。
感谢您的帮助。
答案 0 :(得分:0)
神奇地创建一条线:
SELECT DISTINCT 'NA' AS ATTR FROM TABLE WHERE NOT EXISTS(SELECT 1 FROM TABLE WHERE %condition%)
UNION
SELECT ATTR FROM TABLE WHERE %condition%;
说明:如果子查询没有返回任何行,则选择“NA”并将其与子查询本身联合起来。任何一个联合集合都是空的,因此它可以提供你想要的东西。