最初的问题是一份报告剪掉了一些文本。我调查并确定这是使用该视图的结果。该字段使用的是CHAR(30(,它将在30个字符后截断文本。
我决定把它改成VARCHAR(256(,只是为了确保它有足够的空间。视图中的数据看起来很棒,但当我在SSRS中运行报告时,它看起来是三倍间距的:报告中的数据以类似列表的格式组织。名单之间的间隔非常大。它使报告的页数增加了一倍。我恢复到VARCHAR(64(,但仍然有一些字符串文本超过了64个字符。
我检查了RDL中字段的属性。它被设置为"增加高度",我认为这可以解决格式问题。
似乎没有太多的空白导致了这个问题。坦率地说,我不知道为什么使用CONVERT将其设置为CHAR(30(——它是一个文本字段,所以我认为没有必要对其进行转换,因为它显示为文本(字符串(。
你怀疑问题出在哪里?令人讨厌的是,我最初的更改在测试环境中运行良好,但一旦投入生产,它就创建了三倍的间距。
谢谢你的帮助!
您确定要CHAR(30(吗。使用CHAR数据类型时,将返回指定的字符数。即使字符串有5个字符,你也会得到30个。这可能是包装的原因。
创建视图时,请尝试使用rtrim()
函数。