我正在尝试将我的SQL Server查询结果导出为.txt
格式的文件夹(这是针对自动作业)
我知道MySQL中的等价物与INTO OUTFILE
一起使用。有谁知道在SQL Server 2008 Management Studio中执行此操作的最佳方法?
SELECT DISTINCT RTRIM (s1.SGMNTID) AS 'AccCode',RTRIM (s1.DSCRIPTN) AS 'CodeDesc', CASE
WHEN s1.SGMTNUMB = '1' THEN '1'
WHEN s1.SGMTNUMB = '2' THEN '2'
WHEN s1.SGMTNUMB = '3' THEN '110'
WHEN s1.SGMTNUMB = '4' THEN '4'
WHEN s1.SGMTNUMB = '5' THEN '120'
END AS 'AccountType_id',
CASE WHEN s1.SGMTNUMB = '2'
THEN LEFT(s1.SGMNTID, 2)
ELSE 'DEFAULT'
END AS 'AccGroupName'
FROM GL40200 s1
UNION
SELECT REPLACE ([ACTNUMBR_1]+'-'+ [ACTNUMBR_2]+'-'+ [ACTNUMBR_3]+'-'+[ACTNUMBR_4]+'-'+ [ACTNUMBR_5],' ', '') AS 'AccCode',
'' AS 'CodeDesc',
'0' AS 'AccountType_id',
'Default' AS 'AccGroupName'
FROM GL00100 a
INTO OUTFILE 'C:\Users\srahmani\verian/myfilename.txt'
答案 0 :(得分:19)
你在SSMS应用程序中执行此操作,而不是SQL。在工具栏中选择
查询 - >结果 - >结果归档
答案 1 :(得分:9)
另一种方法是从命令行使用osql:
OSQL -S SERVERNAME -E -i thequeryfile.sql -o youroutputfile.txt
这可以在BAT文件中使用,并由Windows用户进行验证。
答案 2 :(得分:5)
您可以使用bcp utility。
要将结果集从Transact-SQL语句复制到数据文件, 使用queryout选项。以下示例将查询结果复制到Contacts.txt数据文件中。该示例假定您使用的是Windows身份验证,并且与运行bcp命令的服务器实例具有可信连接。在 Windows命令提示符,输入:
bcp "<your query here>" queryout Contacts.txt -c -T
您可以通过在SQL代理作业中直接调用as operating sytstem命令来使用BCP。
答案 3 :(得分:4)
您可以使用Windows Powershell执行查询并将其输出到文本文件
Invoke-Sqlcmd -Query“Select * from database”-ServerInstance“Servername \ SQL2008”-Database“DbName”&gt; C:\用户\ outputFileName.txt
答案 4 :(得分:0)
BCP实用程序也可以以.bat文件的形式使用,但要小心转义序列(即引号&#34;&#34;必须与之结合使用)和相应的标记。
.bat示例:
C:
bcp "\"YOUR_SERVER\".dbo.Proc" queryout C:\FilePath.txt -T -c -q
-- Add PAUSE here if you'd like to see the completed batch
-q必须在查询本身存在引号时使用。
如有必要,BCP还可以运行存储过程。同样,要小心:必须在执行之前创建临时表,否则您应该考虑使用表变量。
答案 5 :(得分:-2)
这很简单,答案可以在其他查询中找到。对于那些正在查看此内容的人:
select entries from my_entries where id='42' INTO OUTFILE 'bishwas.txt';