2015-02-06 74 views
0

有许多在线教程显示如何将SQL表导出到分隔文本文件。从SQL导出带分隔符的文本文件,每个记录有第二个分隔符

不幸的是,我需要导出的数据包含字段中的回车符。这扰乱了“每条记录一行”的输出。

有没有办法为每条记录指定第二个分隔符?这样我可以导出表格,在字段中对回车进行搜索/替换,然后执行另一个搜索并替换,将第二个分隔符更改回回车符?

+0

没有CSV标准。只有csv-for-some-special-app。多线csv尤其时髦。如果不知道应用程序将使用此csv数据,则无法正确回答。很可能你应该使用其他格式,而不关心换行符等事情。 XML。 – 2015-02-06 18:58:39

+0

我在c#中只使用streamreader逐行阅读...我会在该阶段之前做一些原始记事本编辑。 XML似乎可能是最后的手段。 – Scottingham 2015-02-06 19:00:29

+1

好吧,如果csv只会通过外部编辑阶段循环播放,那么请使用您想要的任何分隔符。即使是一个简单的'REPLACE(csvfield,“\ n”,“|| \ n”)'或其他任何可能的伎俩。 – 2015-02-06 19:03:39

回答

1

您可以使用类似下面,它假定该文本使用\r\n为换行,而不是仅仅\n

REPLACE([StringField], CHAR(13)+CHAR(10), CHAR(31)) AS [StringField]