2015-02-17 72 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))