How to format SQLCMD output

sqlcmd output to file
sqlcmd output to csv
sqlcmd location
sqlcmd :r
sqlcmd output without
powershell sqlcmd
sqlcmd list tables
sqlcmd login

I am using below command line to run a SQL query using SQLCMD

sqlcmd -S Server -Q "select top 100 * From people" -d people -t 10 

The table has 20 columns and when i look at output command line window wraps the text and makes it difficult to read.

I want my results to be displayed the same way it displays in SQL Server Management Studio (properly formatted). I am not looking for any grids, but i need all my columns to be displayed in row 1 and the results properly beneath.

Thanks in advance.


Answer

We can set the width of each column.

C:/> sqlcmd -S my_server

> :setvar SQLCMDMAXVARTYPEWIDTH 30
> :setvar SQLCMDMAXFIXEDTYPEWIDTH 30
> SELECT * from my_table
> go

We can also set it like this: sqlcmd -S my_server -y 30 -Y 30.

Details

SQLCMDMAXVARTYPEWIDTH (-y)

It limits the number of characters that are returned for the large variable length data type

SQLCMDMAXFIXEDTYPEWIDTH (-Y)

Limits the number of characters that are returned for the following data types

Note: setting -y has serious performance implications.

See https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility

How to format a text output with SQLCMD ?, How can I set width for individual columns using sqlCmd ? Currently, I my data is getting trimmed off because the address value contains upto  With PowerShell you can solve the problem neatly by piping Invoke-Sqlcmd into Export-Csv. #Requires -Module SqlServer Invoke-Sqlcmd -Query "SELECT * FROM DimDate;" ` -Database AdventureWorksDW2012 ` -Server localhost | Export-Csv -NoTypeInformation ` -Path "DimDate.csv" ` -Encoding UTF8. SQL Server 2016 includes the SqlServer module, which contains the Invoke-Sqlcmd cmdlet, which you'll have even if you just install SSMS 2016.


Formatting issues usually pop up due to your console window. One solution is to output to the file and use notepad/your favorite editor:

sqlcmd -S myServer -d myDB -E -Q "select top 100 * From people" 
     -o "output.txt"

sqlcmd Utility, Identifies the file that receives output from sqlcmd. If -u is specified, the output_file is stored in Unicode format. If the file name is not valid, an error  Using Batch Scripts, and SQLCMD to Write Out a Database’s Data. This article is about using the DOS Batch script facility of the Windows command line , together with SQLCMD to write the contents of each table in a database to the local filesystem.


This is how I isolated a scalar.

sqlcmd -S xxx.xxx.xxx.xxx,xxxxx -d MyDb -U myUser -P MyPassword -h -1 -W -Q "set NOCOUNT ON; select a from b where b.id='c'" 

How to format the output of SQL queries on SQLCMD for SQL Server , The sqlcmd utility is handy for executing T-SQL scripts via command-line, such as in automation scenarios, but is limited in its output formatting  sqlcmd -U xx -P xx -S xxx -Q "select * from sometable" -o D:\output.csv -W -w 1024 -s"," In the above sqlcmd command I am using 'comma' as the delimiter to separate the columns in database and to get the output in csv format. But what if we already have 'comma' in between the data not between the columns?


SQL Server 2005 Command Line Tool "SQLCMD", Part II of this series illustrates how to use the SQLCMD utility to input Transact SQL Let us see how to format the output in a variable length. sqlcmd -S . -d MyDb -E -s, -W -Q "select account,rptmonth, thename from theTable" > c:\dataExport.csv I get an csv output file containing acctnum,rptmonth,facilname


How to format SQLCMD output, I am using below command line to run a SQL query using SQLCMD sqlcmd -S Server -Q "select top 100 * From people" -d people -t 10 The table has 20  invoke-sqlcmd "Select * from sys.dm_exec_connections" -ServerInstance . | Out-Gridview. As you can see, the output now is in the format of a window just like what I am used to with SQL Server Management Studio. This was an awesome capability I personally felt.


PowerShell - Tip: How to Format PowerShell Script Output?, invoke-sqlcmd "Select * from sys.dm_exec_connections" As you can see above, the output of our SQL query is not formatted in a nice table  For SQL Server 2014 and lower, see sqlcmd Utility. For using sqlcmd on Linux, see Install sqlcmd and bcp on Linux. The sqlcmd utility lets you enter Transact-SQL statements, system procedures, and script files through a variety of available modes: At the command prompt. In Query Editor in SQLCMD mode. In a Windows script file.