Sql server 使用SQL Server存储过程导出csv文件中的表数据
我有以下要求:Sql server 使用SQL Server存储过程导出csv文件中的表数据,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我有以下要求: 使用存储过程将表数据导出到.csv文件中 .csv文件中的第一行将是自定义标题 注意:此行中的数据不会来自表。它将是所有生成的.csv的固定标题 与此类似: Latest price data: product1;150;20150727 product2;180;20150727 product3;180;20150727 假设date是一个正确的datetime列,以下过程至少会对名为prodtbl的表执行此操作: CREATE proc csvexp (@header a
.csv
文件中.csv
文件中的第一行将是自定义标题.csv
的固定标题
与此类似:
Latest price data:
product1;150;20150727
product2;180;20150727
product3;180;20150727
假设
date
是一个正确的datetime
列,以下过程至少会对名为prodtbl
的表执行此操作:
CREATE proc csvexp (@header as nvarchar(256)) AS
BEGIN
SELECT csv FROM (
SELECT prod,date,prod+';'+CAST(price AS varchar(8))+';'
+replace(CONVERT(varchar,getdate(),102),'.','') csv
FROM prodtbl
UNION ALL
SELECT null,'1/1/1900',@header
) csvexp ORDER BY prod,date
END
命令
EXEC csvexp 'my very own csv export'
然后将生成以下输出:
my very own csv export
product1;150;20150727
product2;180;20150727
product3;180;20150727
将此输出实际放入
.csv
文件的部分仍有待完成…您使用的是sql server 2008、2008R2还是2012???您标记了所有这些文件,但没有帮助。您可以通过运行xp_cmdshell+bcp来完成此操作,并通过从其他文件复制标头来处理标头,但我不认为您应该在SQL Server过程中执行此操作感谢JamesZ的响应,但我正在寻找一些不使用xp#u cmdshell的解决方案。感谢cars10的响应,但它不会有帮助,因为它会显示如上所示的输出。它只显示最后一列和标题。