【发布时间】:2015-06-13 02:02:00
【问题描述】:
我对 DB2 中的 COALESCE 函数有疑问。
我的声明:
SELECT COALESCE(ATTR,'NA') FROM TABLE WHERE %condition%
如果根据条件找到 ATTR,则 SELECT 返回 ATTR 的值,但如果未找到 ATTR,则我希望 SELECT 返回“NA”。但是,它不返回任何行。
感谢您的帮助。
【问题讨论】:
-
如果你简单地执行“SELECT * FROM TABLE WHERE %condition%”会发生什么?
-
coalesce()适用于单个列值 - 它不能神奇地从任何地方创建一行。 -
如果我执行“SELECT * FROM TABLE WHERE %condition%”,则返回一行 3 列,我的观点是当没有行时返回 VALUE 'NA'
-
如果没有行,那么 COALESCE() 不能对任何行执行(因为没有被选择)。