it-swarm.it

Come avvolgere le righe lunghe quando SELEZIONA le colonne di testo SQL?

Sto selezionando da una tabella con lunghe colonne di testo. Vorrei avvolgere le linee lunghe fino a una lunghezza massima.

A partire dal:

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

Per:

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

Se stai usando lo strumento da riga di comando psql, emetti prima questo comando:

\pset format wrapped

Dovrebbe quindi avvolgere le linee lunghe nella finestra del terminale in questo modo:

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

Puoi anche impostare il numero di colonne con cui andare a capo

\pset columns 100

e puoi cambiare i punti in ellissi

\pset linestyle unicode

Ulteriori informazioni: http://www.postgresql.org/docs/current/static/app-psql.html

30
linesarefuzzy

La mia risposta non risponderà direttamente alla tua domanda perché non credo che psql stesso possa farlo specificamente. Ma, \x attiva l'output espanso, che posizionerà i tuoi valori in questo modo:

-[ 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.

Puoi anche configurare il tuo cercapersone in modo da non avvolgere le linee.

Per passare alla visualizzazione normale, basta emettere di nuovo il comando\x. Spiegazione :

\x [on|off|auto] toggle expanded output (currently off)
10
Derek Arnold