web-dev-qa-db-ja.com

SQLテキスト列を選択するときに長い行を折り返す方法は?

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

から:

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
30
jkj

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

30
linesarefuzzy

私の答えはあなたの質問に直接答えることはしません。なぜなら、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)
10
Derek Arnold