2015-02-17 65 views
-5

如何修改存储过程以返回null而不是0?如何修改存储过程以给出null而不是0

对用于报告的存储过程的修改请求。要求在报告中显示空白。含义需要返回null而不是0(零)。

当前代码:

Approach = ISNULL(Approach, 0) , 

可能的新代码:

Approach = ISNULL(Approach, '') , 
+3

如果你被要求在报表中显示空白,你可能想澄清是否要返回空值或只显示值大于0空白!= NULL – Phoenix 2015-02-17 20:25:59

+0

对于报告,您应该可以像第二个示例中那样返回空字符串。例如,当您尝试连接到字符串时,Null的返回值为null,并可能导致报告出现其他问题。正如@Phoenix所指出的那样,最好的方式是知道你真正想要的是什么。 – paqogomez 2015-02-17 20:27:25

+0

他们不想在报告上看到零(0)。这是SSDT制作的Tablix。 – Eric 2015-02-17 20:33:02

回答

0

在你的SQL代码在存储过程中加入这一行

CASE WHEN Approach = 0 THEN NULL END AS Approach 

所以当Approach会为0那么它将被替换为NULL

0

走遍它在SSDT/SSRS

=IIF(Sum(Fields!"Field".value)=0,"",Sum(Fields!"Field".value))