从sqlcmd输出文件中删除列空间

时间:2015-04-30 15:02:46

标签: sql-server tsql sqlcmd

我正在尝试使用sqlcmd将存储过程的结果输出到文本文件。但是,它在结果列之间放置一个空格(默认分隔符),我需要删除它。我正在使用下面的代码并尝试指定任何内容作为列分隔符,请参阅下面的代码(-s"")但这不起作用。它给了我一个缺失的参数错误。

sqlcmd -S Server name -U Username-P Password -d Db name-Q 
          "exec Stored procedure" -h -1 -s "" -o c:\newtest.txt

如何指定任何分隔符?

1 个答案:

答案 0 :(得分:1)

可以使用bcp,使用-t 0x90

完成

-t是bcp中的字段终止符。你可以在存储过程和表上使用它,这样它就可以做你需要的一切。

我刚刚验证了这项工作:

bcp dbname.dbo.tablename out "c:\test.txt" -S serveraddress -U username -P password -t 0x90 -c

使用存储过程将类似于:

bcp" EXEC YourDatabaseNameGoesHere.dbo.sp_myproc' 0123,0234,0345''"