有没有办法运行 sqlcmd 来获取查询输出而不显示受影响的行数?

rum*_*umz 6 sql-server sql-server-2005

我在 SQL Server 2005 中运行一个简单的查询,并希望它通过 sqlcmd 导出到一个文件。我希望得到没有标题和查询元数据的 csv 格式的结果(有多少行受到影响)。对于标题,您实际上可以指定 -h -1 但如何摆脱结尾文本?

现在我有

sqlcmd -S klingon -d stardb -i C:\testscript.sql -o C:\testresults.csv -h -1 -s ","
Run Code Online (Sandbox Code Playgroud)

脚本很简单

select x, y, z from agent
Run Code Online (Sandbox Code Playgroud)

不幸的是,结果是这样的:

         24 aingles1         creablegs            
         25 tbails12         bull2dog12           
         26 jtaylor3         Leandon62606         
         27 forrestw1        nuke19211            

(4 rows affected)
Run Code Online (Sandbox Code Playgroud)

我似乎无法在帮助文件中找到任何内容来告诉我如何删除最后一部分,该部分告诉我有多少行受到影响。

任何人的想法?

Ant*_*y K 10

我想你可能想要“SET NOCOUNT ON”选项。您的 SQL 脚本将如下所示:

 set nocount on  
 select x, y, z from agent  
 set nocount off  
Run Code Online (Sandbox Code Playgroud)

结果集将是:

 24 aingles1         creablegs            
 25 tbails12         bull2dog12           
 26 jtaylor3         Leandon62606         
 27 forrestw1        nuke19211    
Run Code Online (Sandbox Code Playgroud)

减去末尾的行数。