SQL Server 2014导出CSV文件问题

SQL Server 2014导出CSV文件问题,sql,sql-server,Sql,Sql Server,我一直在寻找这个问题的答案,但没有找到答案。从SSMS导出表时,有时一些较大的文件会出现问题,例如地址会触发CR/LF,并在导出的CSV文件的多行中传播类似地址的记录。如果我直接从SSMS复制粘贴记录并将其粘贴到另一个程序(如word)中,它也会做同样的事情。我不能确切地把我的大拇指放在这里发生的事情上。其他记录将正确导出,然后突然出现一条记录,如下所示 看起来像这样: 1|"Apartment Katha 2|Flat No 9999 Garia Place 3|West Bengal" 但

我一直在寻找这个问题的答案,但没有找到答案。从SSMS导出表时,有时一些较大的文件会出现问题,例如地址会触发CR/LF,并在导出的CSV文件的多行中传播类似地址的记录。如果我直接从SSMS复制粘贴记录并将其粘贴到另一个程序(如word)中,它也会做同样的事情。我不能确切地把我的大拇指放在这里发生的事情上。其他记录将正确导出,然后突然出现一条记录,如下所示

看起来像这样:

1|"Apartment Katha
2|Flat No 9999 Garia Place
3|West Bengal"
但我需要这样

1|"Apartment Katha Flat No 9999 Garia Place West Bengal"
我使用Unicode和作为文本限定符。

CR和LF是Char10和Char13尝试从记录中取出这些字符,看看是否有效:

SELECT REPLACE(REPLACE(@str, CHAR(13), ' '), CHAR(10), ' ')

如果在导出中看到新行,则相应字段中肯定有新行-注意,在SSMS网格视图中不会看到这些新行。创建一个执行更新-替换的过程&清理数据并加强插入逻辑以防止将来发生。谢谢Alex K。我想这个问题是我不确定我要更新/替换什么?是否有隐藏字符或其他原因导致此问题?字符13/10或10本身可以表示新行,请查看您的数据是否包含任何内容:从tbl中选择fld,其中charindexchar13,fld+charindexchar10,fld>0-以文本形式查看结果,而不是以网格形式显示结果。果然,这成功了。我以前从未听说过。换成一个空格,否则你会以无法恢复的方式把线连在一起。@AlexK。好的,我编辑了答案。然而,最好了解用例以了解空格是否比空字符串更相关。