2016-06-28 136 views
0

我正在使用以下查询将所有结果保存在由SQL查询返回的.CSV文件中。将查询结果输出到csv文件

EXEC master..xp_cmdshell 'SQLCMD -S . -E -Q "SELECT TOP 10 
    customercode, customername, businessdescription, ctypecode 
FROM ArchivalDB.dbo.customer" -s"," -b -o d:\data\myoutput1.csv', no_output 

它的作品,但如果我的列联系','比csv文件的输出受到干扰。

我知道必须对-s参数进行一些操作。

任何人都可以在这件事情上帮助我。

感谢

回答

0

如果确定删除comma与空间或任何其他分隔符,然后改变你的SQL查询来

SELECT TOP 10 
    replace(customercode,',',' '), 
    replace(customername,',',' '), 
    replace(businessdescription,',',' '), 
    replace(ctypecode,',',' ') 
FROM ArchivalDB.dbo.customer 
+0

这样,我将不得不改变我的所有储存的查询。有没有其他方法可以达到同样的效果? –

+0

您可以选择另一个分隔符(如'〜'或'|'等),并在'-s'中使用。文件创建完成后,用空格或其他值替换逗号,然后用'逗号'替换你的分隔符。但这将是现有流程的一个开销,并且会耗费更多时间。 – Utsav