Sqlcmd使用SQL Server存储过程将数据导出到csv

时间:2019-11-15 01:04:32

标签: sql-server sqlcmd

当我在SQL Server中执行存储过程并将数据导出到.csv(使用“另存结果为”)时,输出.csv的格式非常好。

我的目标是以这种格式提取数据,并带有标题:

PK1,2005/010,#,Not Analysed,CVOI001,C Voice 001 Test Account,PI -Local,11/11/2019,-571.430,C,T00012                        
PK1,2005/010,#,Not Analysed,32400,Annual bonus,PI -Local,11/11/2019,571.430,D,T00012                        

但是,当我使用sqlcmd从相同的存储过程中提取数据(目标是自动执行提取任务)时,格式非常不同,用“ ------”分隔标题和在字段中填充很多。抱歉,我无法发布标题,因为该帖子将超出字符数限制。

这是我的代码和当前输出。我有什么需要改变的吗?

sqlcmd -S SUNSERVER -E -Q "Exec SunSystemsData.[dbo].[z_UniFocusExtract] $(BUCode), $(LCode), $(TCodeNo), $(NoDayBack)" 
       -v BUCode='PK1' LCode='ANAL_T1' TCodeNo='2' NoDayBack='-100' -s "," -o "C:/Test/Test.csv"
PK1    ,2005/010,#              ,Not Analysed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ,CVOI001        ,C Voice 001 Test Account                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ,PI -Local                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ,11/11/2019          ,              -571.430,C  ,T00012                        
PK1    ,2005/010,#              ,Not Analysed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ,32400          ,Annual bonus                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ,PI -Local                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ,11/11/2019          ,               571.430,D  ,T00012                        

1 个答案:

答案 0 :(得分:0)

您可以再添加一个参数,以从生成的csv文件中删除标题。

Sqlcmd msdn link

-h-1 removes column name headers from the result

  

-h标头
  指定要在列标题之间打印的行数。默认值是每组打印一次标题   查询结果。此选项设置sqlcmd脚本变量   SQLCMDHEADERS。使用-1指定不打印标题。任何   无效的值导致sqlcmd生成错误消息,并且   然后退出。

要除去列宽中多余的填充空间,请添加-W参数。我已经测试过了一切正常。

  

-W此选项从列中删除尾随空格。在准备要导出的数据时,将此选项与-s选项一起使用   到另一个应用程序。不能与-y或-Y选项一起使用。