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

2021-12-02 00:00:00 csv file sql-server sqlcmd

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

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)

相关文章