由UDF为SSRS铸造/转换Chars到Varchars

时间:2010-08-27 14:34:19

标签: tsql ssrs-2008

我最常报告的数据库没有正确输入。除了一些整数和日期时间外,几乎每个字段都是CHAR字段。这可能会导致SSRS布局出现问题,因为某些字段有大量的尾随空格。

这会导致布局混乱等。我经常在脚本中删除这些字段以防止这种情况发生。

如果我创建一个通用UDF以在单个脚本中的多个字段上自动执行此操作,是否会对性能产生影响?

是一个功能RTRIM。 CAST,Convert等比其他产品更受欢迎?

1 个答案:

答案 0 :(得分:1)

我不会做一个函数来执行此操作,只需在结果中的每个不正确类型的列上使用CONVERT(),如下所示:

SELECT
    CONVERT(int,RowInt) AS RowInt
        ,RTRIM(CONVERT(varchar(15),RowString)) AS RowString
        ,CONVERT(datetime,RowDatetime) AS RowDatetime
        ,CONVERT(numeric(10,4),RowNumeric) AS RowNumeric
    FROM ...

这样,结果集的每一列都有正确的数据类型,SSRS会知道这一点,并可以对它们应用格式。

如果这是一个真正的慢性问题,而且你发现你正在重复CONVERT s太多,你可能只想创建一些为你做这个的视图。只是注意观点意见。