从 SQL Server Management Studio 保留 \n

从 SQL Server Management Studio 保留 \n

我有一个名为的列EventLog varchar(max),它可能非常大,因为它本质上存储了整个批处理过程的事件日志。

问题是当我进入查询窗口并执行这样的选择时

SELECT EventLog from BatchProcess

当我将事件日志的文本剪切并粘贴到记事本中时,它

  1. 删除所有 NewLines\n并只留下一条连续的线。
  2. 仅将一定量的文本复制到剪贴板并截断其余部分。

如何从 SQL Server Management Studio 获取 EventLog 的内容?

答案1

为了解决截断问题,请尝试将其转换为 XML 进行处理

DECLARE @S varchar(max)

SELECT @S = ''

SELECT @S = @S + '
' + EventLog  FROM BatchProcess

SELECT @S AS [processing-instruction(x)] FOR XML PATH('')

代码改编自 Martin Smith 的回答https://stackoverflow.com/questions/2759721/how-do-i-view-the-full-content-of-a-text-or-varcharmax-column-in-sql-server-200

这也可能解决换行问题,但如果问题很大,请尝试使用其他编辑器

答案2

  1. 删除所有 NewLines 并只留下一条连续的线。

这听起来像是记事本的典型缺点。如果我没记错的话,为了真正显示换行符,记事本需要\r\n行尾,而不仅仅是\n。尝试粘贴到写字板或真正的编辑器

相关内容