将查询结果输出到csv文件
问题描述:
我正在使用以下查询将所有结果保存在由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
参数进行一些操作。
任何人都可以在这件事情上帮助我。
感谢
答
如果确定删除comma
与空间或任何其他分隔符,然后改变你的SQL查询来
SELECT TOP 10
replace(customercode,',',' '),
replace(customername,',',' '),
replace(businessdescription,',',' '),
replace(ctypecode,',',' ')
FROM ArchivalDB.dbo.customer
这样,我将不得不改变我的所有储存的查询。有没有其他方法可以达到同样的效果? –
您可以选择另一个分隔符(如'〜'或'|'等),并在'-s'中使用。文件创建完成后,用空格或其他值替换逗号,然后用'逗号'替换你的分隔符。但这将是现有流程的一个开销,并且会耗费更多时间。 – Utsav