我有一个简单的BCP命令来查询我的MSSQL数据库并将结果复制到.csv文件,如下所示:
bcp "select fullname from [database1].[dbo].employee" queryout "c:\test\table.csv" -c -t"," -r"\n" -S servername -T
当fullname列是由“Lee,Bruce”之类的逗号分隔的varchar时,会出现此问题。将结果复制到.csv文件时,逗号(Lee)前面的部分放入Excel电子表格的第一列,逗号(Bruce)后面的部分放入第二列。我希望它能保留第一列中的所有内容并保留逗号(Lee,Bruce)。有谁知道如何实现这一目标?
答案 0 :(得分:2)
显然,您应该将列分隔符设置为与逗号不同的值。我不熟悉上面的语法,但我想这些:-c -t"," -r"\n"
分别是列和新行分隔符。
此外,您应该在区域设置中更改默认CSV分隔符,或使用导入向导在Excel中正确放置数据。顺便说一句,SO上有很多类似的问题。