我正在使用下面的命令行使用 SQLCMD 运行 SQL 查询
sqlcmd -S Server -Q "select top 100 * From people" -d people -t 10
该表有 20 列,当我查看输出命令行窗口时,文本会换行并使其难以阅读。
我希望结果的显示方式与 SQL Server Management Studio 中显示的方式相同(格式正确)。我不是在寻找任何网格,但我需要将所有列显示在第 1 行中,并将结果正确地显示在下方。
提前致谢。
最佳答案
回答
我们可以设置每列的宽度。
C:/> sqlcmd -S my_server
> :setvar SQLCMDMAXVARTYPEWIDTH 30
> :setvar SQLCMDMAXFIXEDTYPEWIDTH 30
> SELECT * from my_table
> go
我们也可以这样设置:sqlcmd -S my_server -y 30 -Y 30
。
详细信息
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
注意:设置-y
会严重影响性能。
参见https://learn.microsoft.com/en-us/sql/tools/sqlcmd-utility
关于sql - 如何格式化 SQLCMD 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33738433/