我正在尝试使用 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
最佳答案
我找到了解决我的问题的方法:
我已经使用 -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
关于excel - BCP queryout -w 生成错误的 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22253435/