SSRS-用“字符串”消息替换“小数”列中的空值?

时间:2018-09-17 17:37:32

标签: sql reporting-services ssms

我有下表:

item_ID  |  item_Name  |  Amount
---------|-------------|-------
   12    |    apple    |  $1
   13    |    orange   | <null>
   14    |    grapes   |  $2.5

对于'orange'项的'null'值,我想用字符串'N / A'代替它,即使数据来自的列是十进制。有可能吗?

我尝试如下输入该列的表达式:

=IIF(IsNothing(Fields!Amount.Value), Sum(Fields!Amount.Value), 'N/A')

但是我遇到了一个错误,报告失败了。

3 个答案:

答案 0 :(得分:3)

如果在SSRS的报表层处理此问题,您将获得一些好处:例如,数据导出将这些导出仍以数字形式导出。

设置与以下类似的文本框的值

=IIF( IsNothing(Fields!Cost.Value ), "N/A",Fields!Cost.Value)

答案 1 :(得分:1)

以下是将coalescecast结合使用的一种选择:

select item_ID, item_Name, coalesce(cast(cost as varchar(100)), 'N/A') as cost
from yourtable;

答案 2 :(得分:1)

您还可以使用ISNULL函数

SELECT cost = ISNULL( TRY_CAST( cost as varchar(50), 'N/A' )