我正在尝试使用BCP生成CSV文件。我的问题是我有一些NVARCHAR列,所以我必须使用参数-w作为bcp实用程序。因此,生成的CSV文件在EXCEL中的单个列中打开。如果我创建一个新的文本文件,复制生成的CSV内容并粘贴到新文件中,然后将其类型更改为CSV,它就可以工作并打开不同列中的内容。以前有人见过吗?
SET @File = 'MyQuery.csv'
set @SQL = 'bcp "SELECT FirstName, LastName, DwellingName FROM Table" queryout "' + + '" -w -t
"," -T -S '+ convert(varchar,@@ServerName)
exec master..xp_cmdshell @SQL
答案 0 :(得分:0)
我找到了解决问题的方法:
我已经使用-CACP生成CSV文件ANSI编码,它可以工作!!!
现在我的命令如下:
SET @File = 'MyQuery.csv'
set @SQL = 'bcp "SELECT FirstName, LastName, DwellingName FROM Table" queryout "' + + '" -c -CACP -t "," -T -S '+ convert(varchar,@@ServerName)
exec master..xp_cmdshell @SQL