SQL Server:从SSMS复制表数据时换行符丢失问题求助
解决SSMS复制文本时丢失换行符的问题
我之前也碰到过一模一样的情况!明明在数据库里用CHAR(13)+CHAR(10)加了换行,结果从SSMS复制到记事本、VS Code这些编辑器里就全变成一行了,太头疼了。下面几个方法亲测有效,你可以试试:
方法1:修改SSMS全局查询选项
这是一劳永逸的办法,改完之后所有查询结果都能自动保留换行:
- 打开SSMS,点击顶部菜单栏的 工具 → 选项
- 在弹出的窗口里,展开 查询结果 → SQL Server → 结果到网格
- 找到**“复制或保存结果时保留换行符”**选项,勾选它
- 点击确定后重启SSMS,设置就会生效
之后再从网格结果里复制文本,换行符就会完整保留下来了。
方法2:切换到“结果到文本”模式导出
如果不想改全局设置,或者只是临时需要保留换行,可以用这个快速方案:
- 在查询窗口里,点击顶部的**“结果到文本”**按钮(或者按快捷键
Ctrl+T) - 执行查询后直接复制结果文本,换行符会被正确识别
- 可以提前去工具→选项→查询结果→SQL Server→结果到文本里调整输出格式,让排版更贴合需求
方法3:用CAST/CONVERT显式处理字段(临时适配)
如果只是个别查询需要保留换行,在语句里把字段转换成大文本类型,有时候能帮SSMS正确解析换行:
SELECT CAST(YourTargetField AS NVARCHAR(MAX)) AS FormattedContent FROM YourTableName;
执行这个查询后再复制,换行符大概率能正常显示。
小补充
如果复制到富文本编辑器(比如Word)还是有异常,可以先复制到记事本中转一次,这样能过滤掉SSMS带的隐藏格式,只保留纯文本和换行符。
内容的提问来源于stack exchange,提问作者Jakub P
相关产品推荐
相关产品推荐

