SQLテキスト列を選択するときに長い行をラップする方法は?


28

長いテキスト列のあるテーブルから選択しています。長い行を最大行長に折り返したいです。

から:

SELECT * FROM test;
test_id |                                  text
--------+-----------------------------------------------------------------------
      1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris lorem

に:

test_id |              text
--------+-----------------------------
      1 | Lorem ipsum dolor sit amet,+
        | consectetur adipiscing elit+
        | . Mauris lorem

単語の境界で?その機能がサポートされているとは思わない。
ガイウス

@Gaius:単語の境界を無視しても問題ありません
jkj

結果をラップしたいだけだと仮定しますか?コマンドラインツールまたはpgAdminまたはphpPgAdminを介してクエリを実行していますか?
CoderHawk

@Sandy:psqlコマンドラインツール
jkj

端末ウィンドウのサイズを調整しますか?:D
デレクダウニー

回答:


28

psqlコマンドラインツールを使用している場合は、最初に次のコマンドを発行します。

\pset format wrapped

その後、端末ウィンドウに長い行を次のようにラップする必要があります。

test_id |              text
--------+-----------------------------
      1 | Lorem ipsum dolor sit amet,.
        |.consectetur adipiscing elit.
        |.. Mauris lorem

折り返す列の数を設定することもできます

\pset columns 100

で点を楕円に変更できます

\pset linestyle unicode

詳細:http : //www.postgresql.org/docs/current/static/app-psql.html


9

私の答えはあなたの質問に直接答えません。なぜなら、psql自体が具体的にこれを行うことはできないと思うからです。ただし、\x拡張出力をオンにすると、次のように値が配置されます。

-[ RECORD 1 ]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
id         | 1
longstring | This is a long string of text that will be quite long and most likely be very annoying to read if you are viewing results with more than at most a few columns of data. Words words words words words words lorem ipsum.

行を折り返さないようにページャーを構成することもできます。

通常の表示に切り替えるには、コマンド\ xを再度発行します。説明

\x [on|off|auto] toggle expanded output (currently off)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.