SSMS 处理换行符的方式不一致

Bra*_*adC 2 sql-server ssms sql-server-2012

可能更多的是 SQL Management Studio 问题而不是 SQL 本身,但是当我运行以下简单查询时:

SELECT results = 'Foo' + CHAR(13) + CHAR(10) + 'Bar'
Run Code Online (Sandbox Code Playgroud)

根据我选择“结果到网格”还是“结果到文本”,我似乎会得到不同的结果。

将 SSMS 设置为“结果到文本”后,我得到(如预期):

results
--------
Foo
Bar

(1 row affected)
Run Code Online (Sandbox Code Playgroud)

但是将 SSMS 设置为“结果到网格”,然后复制并粘贴结果,我得到

Foo  Bar
Run Code Online (Sandbox Code Playgroud)

Bra*_*adC 5

有一个选项可以更改此行为,请转到Tools > Options > Query Results > SQL Server > Results to Grid,然后选中“复制或保存时保留 CR/LF”框:

在此输入图像描述

您可能必须退出并重新加载 SSMS 才能使此更改生效。