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