MySQL有一个漂亮的命令SELECT ... INTO OUTFILE
可以将结果集写入文件(CSV格式或其他可选格式)。在SQL Server Management Studio中是否存在SELECT ... INTO OUTFILE等价物?
我目前使用SQL Server Management Studio来查询MS-SQL后端服务器。我有多个SQL查询,并希望将输出结果集写入文件。有什么方法可以将查询结果直接存储到文件中吗?
MySQL有一个漂亮的命令SELECT ... INTO OUTFILE
可以将结果集写入文件(CSV格式或其他可选格式)。在SQL Server Management Studio中是否存在SELECT ... INTO OUTFILE等价物?
我目前使用SQL Server Management Studio来查询MS-SQL后端服务器。我有多个SQL查询,并希望将输出结果集写入文件。有什么方法可以将查询结果直接存储到文件中吗?
在SSMS中, “查询” 菜单项...... “结果” ... “结果到文件”
快捷= Ctrl + Shift + F
您可以设置它在全球范围太
“工具” ... “选项” ... “查询结果” ...... “SQL服务器” .. “默认目标” 下拉
编辑:评论
在SSMS中,“查询后“菜单项...”SQLCMD“模式
这使您可以像操作一样运行“命令行”。
在我SSMS快速测试2008
:OUT c:\foo.txt
SELECT * FROM sys.objects
编辑,2012年9月
:OUT c:\foo.txt
SET NOCOUNT ON;SELECT * FROM sys.objects
在SQL Management Studio中,您可以:
右键单击该结果定格,选择'Save Result As ...'并保存。
在工具栏上切换“结果到文本”按钮。这会在每个查询运行时提示输入文件名。
如果您需要使其自动化,请使用bcp工具。
+1感谢您使用bcp工具。当我尝试它时,它给了我一个错误:复制方向必须是'in','out'或'format'。你介意给我一个关于如何使用它从文件中使用SQL查询的简短例子吗? – Legend 2011-06-15 07:12:08
示例:'bcp“SELECT Name,GroupName FROM HumanResources.Department”queryout c:\ department.txt -c -T' – 2011-06-15 07:19:28
如果任何列的长度超过256个字符,请勿使用SSMS方法。它会静静地截断列,或者至少在旧版SS中。 – 2017-06-16 01:26:52
谢谢。我实际上正在通过查询直接执行此操作。因为我有多个查询,所以在执行批量查询时,先前查询的结果会堆叠起来。 – Legend 2011-06-15 07:01:16
+1天才!这就像一个魅力。只是最后一个请求:是否可以指定分隔符为逗号而不是简单的格式化?我的一些值在它们中包含空格,所以默认的格式将使我的解析器非常复杂。 – Legend 2011-06-15 07:17:44
@传奇:“工具”..等等..“结果到文本”..“自定义分隔符”SSMS中的选项。只影响新的查询窗口(尝试后编辑此评论) – gbn 2011-06-15 07:23:18