【问题标题】:How to transfer SQL query results to a new csv file with headers?如何将 SQL 查询结果传输到带有标题的新 csv 文件?
【发布时间】:2017-08-03 12:52:42
【问题描述】:
我想将 SQL 查询结果传输到新的 csv 文件。这是因为我已将我的 SQL 查询放在一个循环中,该循环每次都会将查询结果导出到 csv 文件。我正在使用 MS SQL Server 2012。我不想使用 GUI 选项。
【问题讨论】:
标签:
sql
sql-server
sql-server-2008
sql-server-2012
sql-server-2008-r2
【解决方案1】:
Sql Server 并不是真正为导入和导出文件而设计的。您可以使用批量复制程序,但我认为它不适用于 tsql 代码(循环)。你可以使用 openrowset,但你需要设置一个特殊的标志来打开你的攻击表面区域,这是一些人不想做的。
答案是 SSIS(或 Talend 之类的工具)。它带有 Sql,由 MS 设计作为从 Sql 导入和导出的 go to 工具。如果您要右键单击数据库,选择任务然后导出向导,最终会创建并执行一个 SSIS 包。
我建议您重新考虑 GUI 选项。
ps - 另一个答案是使用将结果另存为。我听说过使用这种方法的问题,包括分隔符或文本限定字段的问题。
【解决方案2】:
有多种方法可以实现这一目标。您可以使用BCP 或IMPORT/ EXPORT 或使用 CTRL+SHIFT+S 导出结果集(这会将结果集更改为SAVE AS。希望这会有所帮助。