繁体   English   中英

SQL Server:将查询导出为.txt文件

[英]SQL Server : export query as a .txt file

我试图将我的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'

你在SSMS应用程序中执行此操作,而不是SQL。 在工具栏中选择

查询 - >结果到 - >结果到文件

另一种方法是从命令行,使用osql:

OSQL -S SERVERNAME -E -i thequeryfile.sql -o youroutputfile.txt

这可以从BAT文件中使用,并由Windows用户进行验证。

您可以使用bcp实用程序

要将结果集从Transact-SQL语句复制到数据文件,请使用queryout选项。 以下示例将查询结果复制到Contacts.txt数据文件中。 该示例假定您使用的是Windows身份验证,并且与运行bcp命令的服务器实例具有可信连接。 在Windows命令提示符下,输入:

bcp "<your query here>" queryout Contacts.txt -c -T

您可以通过在SQL代理作业中直接调用as operating sytstem命令来使用BCP。

您可以使用Windows Powershell执行查询并将其输出到文本文件

Invoke-Sqlcmd -Query“Select * from database”-ServerInstance“Servername \\ SQL2008”-Database“DbName”> c:\\ Users \\ outputFileName.txt

BCP实用程序也可以以.bat文件的形式使用,但要小心转义序列(即引号“”必须与之结合使用)和相应的标记。

.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还可以运行存储过程。 同样,要小心:必须在执行之前创建临时表,否则您应该考虑使用表变量。

这很简单,答案可以在其他查​​询中找到。 对于那些正在查看此内容的人:

select entries from my_entries where id='42' INTO OUTFILE 'bishwas.txt';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM