如何使用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)