Jak zawijać długie linie podczas wybierania kolumn tekstowych SQL?

28

Wybieram z tabeli z długimi kolumnami tekstowymi. Chciałbym owinąć długie linie do maksymalnej długości linii.

Z:

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

Do:

test_id |              text
--------+-----------------------------
      1 | Lorem ipsum dolor sit amet,+
        | consectetur adipiscing elit+
        | . Mauris lorem
jkj
źródło
Na granicach słów? Nie sądzę, że ta funkcja jest obsługiwana.
Gajusz
@ Gaius: Ignorowanie granic słów jest w porządku
jkj
Załóżmy, że chcesz po prostu zobaczyć wynik zawinięty? Czy wykonujesz zapytanie za pomocą narzędzia wiersza polecenia lub pgAdmin lub phpPgAdmin?
CoderHawk
@Sandy: narzędzie wiersza polecenia psql
jkj
dostosować rozmiar okna terminala? : D
Derek Downey

Odpowiedzi:

28

Jeśli używasz psqlnarzędzia wiersza poleceń, najpierw wydaj to polecenie:

\pset format wrapped

Następnie powinien zawinąć długie linie do okna twojego terminalu tak:

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

Możesz także ustawić liczbę kolumn, którymi chcesz zawijać

\pset columns 100

i możesz zmienić kropki na elipsy za pomocą

\pset linestyle unicode

Więcej informacji: http://www.postgresql.org/docs/current/static/app-psql.html

linie są rozmyte
źródło
9

Moja odpowiedź nie odpowie bezpośrednio na twoje pytanie, ponieważ nie sądzę, że sam psql może to zrobić. Ale \xwłączy rozszerzone wyjście, które umieści twoje wartości w następujący sposób:

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

Możesz także skonfigurować pager, aby nie zawijał linii.

Aby przełączyć się do normalnego wyświetlania, ponownie wydaj polecenie \ x. Objaśnienie :

\x [on|off|auto] toggle expanded output (currently off)
Derek Arnold
źródło