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


28

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

Sur les limites des mots? Je ne pense pas que cette fonctionnalité soit prise en charge.
Gaius

@Gaius: Ignorer les limites des mots est ok
jkj

Supposons que vous vouliez simplement voir le résultat encapsulé? Exécutez-vous la requête via l'outil de ligne de commande ou pgAdmin ou phpPgAdmin?
CoderHawk

@Sandy: outil de ligne de commande psql
jkj

ajuster la taille de la fenêtre de votre terminal? : D
Derek Downey

Réponses:


28

Si vous utilisez l' psqloutil de ligne de commande, 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


9

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, \xactivera 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)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.