是否有任何直接的方法从SQL Server输出文本文件(或CSV)?

时间:2011-12-02 17:35:52

标签: sql sql-server

我做了大量的修补和搜索,最好的选择似乎是:

  1. 将输出发送到文本并复制/粘贴到文本文件或Excel或

  2. 输出到某个非常规的.rpt文件,我不确定你要做什么 - 在Excel中打开它不会保留原始输出中存在的格式。

  3. 对于看似非常常见的任务,我很惊讶没有更简单的方法来做到这一点。

    有人建议比我概述的两种方法更容易解决这个问题吗?

    哦,为了它的价值,我正在研究SQL Server 2008.

7 个答案:

答案 0 :(得分:5)

答案 1 :(得分:4)

即使通过SSMS GUI,它仍然是一个相对PITA的过程:

计划A:

  1. 工具,选项,查询结果,文本结果    < =将输出格式从“固定列”更改为“按制表符分隔”

  2. 此时,您可以“将结果保存到文件”,并指定.csv文件

  3. 计划B:启动您最喜欢的脚本语言(例如vb.net),然后编写一个执行SQL查询并编写.csv的程序。 10行,上面:)

    计划C:另一种方法是使用一些外部程序来执行查询并为您转换结果。 SQL Server附带“BCP”。您可以轻松编写.bat文件来调用它:

    http://www.simple-talk.com/sql/database-administration/creating-csv-files-using-bcp-and-stored-procedures/

    '希望有所帮助

答案 2 :(得分:3)

您使用的是SQL Server Management Studio吗?如果是这样,当您打开新的查询窗口时,您可以选择将输出发送到文件。查询菜单 - >结果 - >结果归档。

答案 3 :(得分:3)

克里斯,这实际上非常容易。

如果您的查询结果显示在网格中(默认情况下),只需右键单击网格并选择Save Results As...

Save a single result-set to a file

答案 4 :(得分:1)

在MSSQL Management Studio中,您可以右键单击数据库并选择“任务” - > “出口数据”。它启动了一个向导,允许您选择数据源。在“目标”页面上,您可以选择“Microsoft Excel”或“平面文件目标”。向导中的下一页允许您指定一个或多个表中的数据,或自定义查询以获取数据。如果您之前选择了“平面文件目的地”,则下一页允许您设置自己的分隔符。

答案 5 :(得分:1)

另一个选择是从SQL

将其拉入Excel

enter image description here

答案 6 :(得分:0)

运行查询,然后从结果选项卡中按Ctrl-a选择全部,然后将其粘贴到Excel中。