web-dev-qa-db-fra.com

Comment encapsuler de longues lignes lors de la sélection de colonnes de texte SQL?

Je sélectionne dans un tableau avec de longues colonnes de texte. Je voudrais envelopper de longues lignes à une longueur de ligne maximale.

De:

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

Si vous utilisez l'outil de ligne de commande psql, exécutez d'abord cette commande:

\pset format wrapped

Il devrait ensuite envelopper de longues lignes dans votre fenêtre de terminal comme suit:

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

Vous pouvez également définir le nombre de colonnes à encapsuler avec

\pset columns 100

et vous pouvez changer les points en ellipses avec

\pset linestyle unicode

Plus d'informations: http://www.postgresql.org/docs/current/static/app-psql.html

30
linesarefuzzy

Ma réponse ne répondra pas directement à votre question car je ne pense pas que psql lui-même puisse le faire spécifiquement. Mais, \x activera la sortie étendue, ce qui placera vos valeurs comme ceci:

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

Vous pouvez également configurer votre téléavertisseur pour ne pas envelopper les lignes.

Pour basculer en affichage normal, exécutez à nouveau la commande\x. Explication :

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