我正在使用DB2连接的SSIS中运行以下选择查询。
SELECT
(SELECT COUNT(*) FROM tbl.Test) AS NoOfDest
FROM tbl.Index
FETCH FIRST 1 ROW ONLY;
此查询无结果时,我在SSIS中收到以下错误。
指定了单行结果集,但未返回任何行。
因此,我尝试在DB2中返回0
而不是“空白/无结果”。我已经尝试过以下。
SELECT
(COALESCE((SELECT COUNT(*) FROM tbl.Test), 0)) AS NoOfDest
FROM tbl.Index
FETCH FIRST 1 ROW ONLY;
SELECT
(NVL((SELECT COUNT(*) FROM tbl.Test), 0)) AS NoOfDest
FROM tbl.Index
FETCH FIRST 1 ROW ONLY;
但是一切都没有结果。
如何在DB2中返回0?
答案 0 :(得分:3)
大概是因为tbl.Index
而没有返回结果。试试这个:
SELECT (SELECT COUNT(*) FROM tbl.Test) AS NoOfDest
FROM sysibm.sysdummy1;
这引出了一个问题,为什么您不只是这样做:
SELECT COUNT(*) AS NoOfDest
FROM tbl.Test;