Как обернуть длинные строки при выборе текстовых столбцов 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)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.