SQL Server varchar列试图在SSRS中显示换行符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server varchar列试图在SSRS中显示换行符相关的知识,希望对你有一定的参考价值。

我有一个ERP解决方案,可以将文本输入保存到SQL Server varchar列中。用户通常会在这些列中包含换行符。当我在SSMS查询中查看数据时,换行符显示为双倍空格。如果我在SSRS中查询它,则会完全删除双空格。

是否可以在SSRS中重新创建文本列,直接从查询中换行? (即替换换行符的双倍空格)

SSMS中的示例

Layout Issue Number   Time On  Time Off  Width In   Finished Width   Variations From Layout

SSRS中的相同数据

Layout Issue Number Time On Time OffWidth In Finished Width Variations From Layout
答案

我有一些报告,其中我基本上做了这件事。 SQL返回char(10)+ char(13)(换行+回车),SSRS将其视为换行符和回车符。我的想法是检查你在SSMS中看到的那两个空格,看看它们是什么ASCII字符。如果我没记错的话你需要两者。所以:

select
    ascii(substring('Layout Issue Number   Time On  Time Off  Width In   Finished Width   Variations From Layout',20,1)),
    ascii(substring('Layout Issue Number   Time On  Time Off  Width In   Finished Width   Variations From Layout',21,1))

如果它们返回char(32),char(32),你可以替换(string,'',char(10)+ char(13))

以上是关于SQL Server varchar列试图在SSRS中显示换行符的主要内容,如果未能解决你的问题,请参考以下文章

用 Sql Server 中的列数据替换行

使用导入导出向导将数据从 Excel 导入 Sql Server 时,如何更改列的默认 varchar 255?

sqlserver语句添加列(简单)

SQL Server:选择 4 个非空列并将它们连接起来

SQL Server中一个表中的一列为varchar型,长度12,啥语句可以在不满足12位前面补上”0“

在Microsoft SQL Server 2008中,将一张表的某列字段的值转换为列名称