从 sqlcmd 输出文件中删除列 space

Remove column space from sqlcmd output file

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

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

如何不指定分隔符?

可以用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''"