当我在网格中有一个结果集时:
SELECT 'line 1
line 2
line 3'
或
SELECT 'line 1' + CHAR(13) + CHAR(10) + 'line 2' + CHAR(13) + CHAR(10) + 'line 3'
使用嵌入的 CRLF,网格中的显示似乎用空格替换它们(我猜这样它们会显示所有数据)。
问题是,如果我正在代码生成脚本,我不能简单地剪切和粘贴它。我必须转换代码以打开光标并打印相关列,以便我可以从文本结果中复制和粘贴它们。
是否有任何更简单的解决方法可以在结果网格的复制/粘贴操作中保留 CRLF?
网格有用的原因是我目前正在为不同列中的同一对象生成许多脚本 - 一列中的 bcp 输出,另一列中的 xml 格式文件,另一列中的表创建脚本等...
最佳答案
此问题已在 SSMS 16.5 build 13.0.16000.28 中得到修复添加了在复制/保存时保留 CR/LF 的选项 (more details) (Connect bug)。
- 工具 > 选项
- 展开查询结果 > SQL Server > 结果到网格
- 勾选Retain CR/LF on copy or save
- 重启 SSMS
这将导致 CR
、LF
和 CRLF
在您复制单元格时被视为换行符。
关于sql-server - SSMS 结果到网格 - CRLF 未保留在复制/粘贴中 - 有更好的技术吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2679481/