如何使用sqlcmd从SQL Server将数据导出为CSV格式?

问题描述:

我可以很容易地将数据转储到一个文本文件,如:

I can quite easily dump data into a text file such as:

sqlcmd -S myServer -d myDB -E -Q "select col1, col2, col3 from SomeTable" 
     -o "MyData.txt"

但是,我已经查看了 SQLCMD 的帮助文件,但没有看到一个专门用于CSV的选项。

However, I have looked at the help files for SQLCMD but have not seen an option specifically for CSV.

有没有办法使用 SQLCMD ?将表中的数据转储为CSV文本文件?

Is there a way to dump data from a table into a CSV text file using SQLCMD?

您可以执行以下操作:

sqlcmd -S MyServer -d myDB -E -Q "select col1, col2, col3 from SomeTable" 
       -o "MyData.csv" -h-1 -s"," -w 700




  • -h-1 结果中的列名称头

  • -s,将列分隔符设置为

  • -w 700 将行宽设置为700字符(这将需要与最长行一样宽,下一行)

    • -h-1 removes column name headers from the result
    • -s"," sets the column seperator to ,
    • -w 700 sets the row width to 700 chars (this will need to be as wide as the longest row or it will wrap to the next line)