使用SQL Server存储过程导出csv文件中的表数据

时间:2015-07-27 08:26:31

标签: sql-server sql-server-2012

我有这些要求:

  1. 使用存储过程将表数据导出到.csv文件
  2. .csv文件中的第一行将是自定义标题
  3. 注意:此行中的数据不会来自表格。它将是生成的所有.csv的固定标头。

    类似于以下内容:

    Latest price data:
    product1;150;20150727
    product2;180;20150727
    product3;180;20150727
    

1 个答案:

答案 0 :(得分:0)

假设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文件的部分仍有待完成......