从 SQL Server Management Studio 保留 \n

Rob*_*hop 11 sql-server

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

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

SELECT EventLog from BatchProcess
Run Code Online (Sandbox Code Playgroud)

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

  1. 删除所有的 NewLines\n并且只是一个连续的行。
  2. 仅将一定数量的文本复制到剪贴板并截断其余文本。

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

小智 8

要处理截断,请尝试将其转换为 XML 进行处理

DECLARE @S varchar(max)

SELECT @S = ''

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

SELECT @S AS [processing-instruction(x)] FOR XML PATH('')
Run Code Online (Sandbox Code Playgroud)

从 Martin's Smith 对/sf/ask/193180501/回答中修改的代码-200

这也可以解决换行符,但如果它很重要,请尝试不同的编辑器