我在 BIRT 报告中有一个情况。我创建的报告坚持将某些字段显示为空白而不是零。当该字段实际上是一个不返回任何行的子选择时,就会出现这种情况。
例如,如果选择包括:
0 as p3,
然后0显示正常。但是,如果选择具有:
(select sum(other_field) from other_table where ...) as p3,
该字段显示为空白。
修改数据以便子选择存在行会导致显示一个值,即使它们的结果值为零。
所以我认为 BIRT 以某种方式将返回零行的子选择视为 NULL(它也显示为空单元格)而不是零。有谁知道如何强制 BIRT 显示实际的 0 而不是空单元格?
如果有人需要发布特定于 DBMS 的答案,我将使用 DB2/z v8,尽管即使是基于其他供应商的建议也将不胜感激。
最佳答案
当列或表达式可能返回 NULL 时,尝试使用 COALESCE 函数强制一个值。
COALESCE((select sum(other_field) from other_table where ...), 0) as p3,
关于sql - 如何强制 BIRT 显示零值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2369678/