从 SqlServer 管理工作室查询结果导出正确的 csv

从 SqlServer 管理工作室查询结果导出正确的 csv

在 SqlServer Management Studio 中,您可以通过右键单击 -> “将结果另存为” -> csv 将查询结果导出到 csv 文件。但是,csv 文件不包含列标题,并且不会转义数据本身中的任何逗号,这通常会导致文件格式错误。

如何导出正确处理标题和逗号的查询结果?

答案1

请参阅选项 > 查询结果 > SQL Server > 结果转为文本

勾选“包含列标题”。我的文本结果被括在双引号中,这样应该可以解决逗号问题。再看看“结果到网格”选项卡 - 我看到“保存 .csv 结果时引用包含列表分隔符的字符串”

如果不是通过 SSMS,那么您也可以使用 sqlcmd 命令行实用程序,它包含比 powershell 等效程序更多的选项。

答案2

不能通过 Management Studio,但您可以使用 2008 中的 powershell 集成来执行此操作。在对象资源管理器中单击鼠标右键,然后单击“启动 Powershell”,然后:

Invoke-Sqlcmd -ServerInstance '.\sqlexpress' -Database 'temp' -Query "select * from t" | Export-Csv file.csv -notype

相关内容