将SQL SERVER查询结果输出到CSV文件

将SQL SERVER查询结果输出到CSV文件,sql,sql-server,csv,stored-procedures,Sql,Sql Server,Csv,Stored Procedures,我使用一个基本查询从几个连接的表中收集数据,我需要能够将数据导出到CSV(或文本)文件中,以便导入Excel。查询格式为: SELECT Item1 as 'blah' FROM table1 JOIN table2 WHERE Condition GROUP BY ... HAVING .... 我通过查询正确地设置了正确的输出,所以我只想找到一种将其输出到文件的方法。如果使用存储过程更容易,那么在查询中使用存储过程也不会有问题。我只是在寻找一些可以将输出写入文件

我使用一个基本查询从几个连接的表中收集数据,我需要能够将数据导出到CSV(或文本)文件中,以便导入Excel。查询格式为:

SELECT  
Item1 as 'blah'  
FROM  
table1 JOIN table2  
WHERE Condition  
GROUP BY ...  
HAVING ....  
我通过查询正确地设置了正确的输出,所以我只想找到一种将其输出到文件的方法。如果使用存储过程更容易,那么在查询中使用存储过程也不会有问题。我只是在寻找一些可以将输出写入文件的东西,而不需要使用第三方工具,因为这需要适度的可移植性

如果您需要查询的更多详细信息,我可以提供(但它确实是基本的)。

使用BCP实用程序

这是最常用的工具。

使用BCP实用程序


这是最常用的方法。

如果您可以访问SSI(通过Business Intelligence Development Studio),请创建一个数据流任务,将OLE DB源发送到平面文件目标。或者,如果您不想担心转换分隔文件,可以直接转到Excel。

如果您有权访问SSI(通过Business Intelligence Development Studio),请创建一个数据流任务,将OLE DB源发送到平面文件目标。或者,如果您不想担心转换分隔文件的问题,可以直接转到Excel。

SQL Server Management Studio将允许您将结果通过管道传输到文件。虽然一开始不是CSV,但大部分情况下它都能帮你。@paqogomez-我试图避免使用内置的SQLSMS输出,因为我不确定运行SQL的人的机器上是否有SQLSMS软件。不过,谢谢你!执行查询的是什么?使用导入/导出向导。随所有版本的AFAIK提供,可以将自定义查询导出到带分隔符的平面文件或Excel native。SQL Server Management Studio将允许您将结果通过管道传输到文件。虽然一开始不是CSV,但大部分情况下它都能帮你。@paqogomez-我试图避免使用内置的SQLSMS输出,因为我不确定运行SQL的人的机器上是否有SQLSMS软件。不过,谢谢你!执行查询的是什么?使用导入/导出向导。AFAIK随附所有版本,可以将自定义查询导出为带分隔符的平面文件或Excel本机。这可能是正确的技术,但可能有点过早,因为OP尚未指定实际运行查询的内容。因此,这可能是因为我缺乏SQL(尤其是BCP)方面的经验,但当我以前尝试使用它时,我遇到了在查询中使用字符的问题,例如:where value='Bryan'在BCP语法中是否有方法包含带有'marks'的字符串,或者它需要是外部过程还是存储过程?再一次,我为这看起来有多简单而道歉。请尝试使用字符代码作为单引号符号。示例:其中value=char(39)+Bryan+char(39)这可能是正确的技术,但可能有点过早,因为OP没有指定实际运行查询的内容。因此,这可能是我对SQL(特别是BCP)缺乏经验的缘故,但当我以前尝试使用它时,我遇到了在查询中使用字符的问题,例如:where value='Bryan'在BCP语法中是否有方法包含带有'marks'的字符串,或者它需要是外部过程还是存储过程?再一次,我为这看起来有多简单而道歉。请尝试使用字符代码作为单引号符号。示例:其中value=char(39)+Bryan+char(39)