Sql SSRS-替换';十进制';带有';字符串';消息
我有下表:Sql SSRS-替换';十进制';带有';字符串';消息,sql,reporting-services,ssms,Sql,Reporting Services,Ssms,我有下表: item_ID | item_Name | Amount ---------|-------------|------- 12 | apple | $1 13 | orange | <null> 14 | grapes | $2.5 但是我遇到了一个错误,报告失败。这里有一个选项,使用coalesce和cast: select item_ID, item_Name, coalesce(cas
item_ID | item_Name | Amount
---------|-------------|-------
12 | apple | $1
13 | orange | <null>
14 | grapes | $2.5
但是我遇到了一个错误,报告失败。这里有一个选项,使用
coalesce
和cast
:
select item_ID, item_Name, coalesce(cast(cost as varchar(100)), 'N/A') as cost
from yourtable;
这里有一个使用
coalesce
和cast
的选项:
select item_ID, item_Name, coalesce(cast(cost as varchar(100)), 'N/A') as cost
from yourtable;
您还可以使用ISNULL函数
SELECT cost = ISNULL( TRY_CAST( cost as varchar(50), 'N/A' )
您还可以使用ISNULL函数
SELECT cost = ISNULL( TRY_CAST( cost as varchar(50), 'N/A' )
如果您在SSRS的报告层处理这个问题,您将获得一些优势:例如,数据的导出将仍然以数字的形式导出这些数据 设置要使用的文本框的值
=IIF( IsNothing(Fields!Cost.Value ), "N/A",Fields!Cost.Value)
如果您在SSRS的报告层处理这个问题,您将获得一些优势:例如,数据的导出将仍然以数字的形式导出这些数据 设置要使用的文本框的值
=IIF( IsNothing(Fields!Cost.Value ), "N/A",Fields!Cost.Value)
不,这是不可能的。十进制列不能包含字符串值。如果要将字符串存储为
cost
的值,可以将所有值转换为字符串。最好将该列保留为十进制,直到表示层。这样,对于行项目,您可以创建一个表达式来显示所需的内容。总之,您的聚合仍然有效。不,这是不可能的。十进制列不能包含字符串值。如果要将字符串存储为cost
的值,可以将所有值转换为字符串。最好将该列保留为十进制,直到表示层。这样,对于行项目,您可以创建一个表达式来显示所需的内容。总之,您的聚合仍然可以工作。因为这是用Reporting Services
标记的,所以最好使用表示层。因为这是用Reporting Services
标记的,所以最好使用表示层。这是一个很好的选择,我很高兴您是一个新手贡献者只需意识到,您还需要在该选项中使用cast
或convert
。啊,好的,我没有注意到它来自十进制字段。答案更新为包含演员阵容。谢谢很好的选择,我喜欢你是一个新的贡献者。只需意识到,您还需要在该选项中使用cast
或convert
。啊,好的,我没有注意到它来自十进制字段。答案更新为包含演员阵容。谢谢我一直在等你发布这个方法,因为我很少使用ssrs
+1,很好的例子。我在根据我的评论写这篇文章的过程中是的,这就是为我解决问题的那个。谢谢。我一直在等你发布这个方法,因为我很少使用ssrs
+1,很好的例子。我在根据我的评论写这篇文章的过程中是的,这就是为我解决问题的那个。非常感谢。