以下のコマンドラインを使用して、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
)
大きな可変長データ型に対して返される文字数を制限します
SQLCMDMAXFIXEDTYPEWIDTH(-Y
)
次のデータ型に対して返される文字数を制限します
注:設定-y
パフォーマンスに深刻な影響があります。
https://docs.Microsoft.com/en-us/sql/tools/sqlcmd-utility を参照してください。
通常、フォーマットの問題はコンソールウィンドウが原因で発生します。 1つの解決策は、ファイルに出力し、メモ帳/お気に入りのエディターを使用することです。
sqlcmd -S myServer -d myDB -E -Q "select top 100 * From people"
-o "output.txt"
これが私がスカラーを分離した方法です。
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'"