I am running a simple query in SQL Server 2005 and want it to export to a file via sqlcmd. I was hoping to get the results in a csv format without the headers and the query metadata (how many rows are affected). for the headers you can actually specify -h -1 but how can you get rid of the ending text?
Right now i have
sqlcmd -S klingon -d stardb -i C:\testscript.sql -o C:\testresults.csv -h -1 -s ","
with the script being something simple to the tune of
select x, y, z from agent
Unfortunately, results are like so:
24 aingles1 creablegs
25 tbails12 bull2dog12
26 jtaylor3 Leandon62606
27 forrestw1 nuke19211
(4 rows affected)
I can't seem to find anything in the help file that will tell me how to remove the last part which tells me how many rows are affected.
Ideas anyone?
I think you might want the "SET NOCOUNT ON" option. Your SQL script will look like:
And the results set will be:
Minus the count of rows line at the end.
findstr
is built into the OS and is simliar to grep. See findstr /? for more options.To remove a column, use
cut.exe
tool. So you could run:This would only output from character 10 onwards, thus removing the line numbers. Adjust the number 10 accordingly. You could also try fields:
This would only output fields 2 and onwards (to the right).
I add the following code block to the beginning of the query itself to remove all messages when using sqlcmd.exe to export results to CSV.