SQLite
 sql >> Database >  >> RDS >> SQLite

Come avvolgere lunghe righe di testo nei risultati di SQLite

Se stai utilizzando una delle modalità di output tabulare di SQLite, potresti trovarti a combattere con lunghe righe di testo che fanno sì che tutte le colonne successive vengano spostate all'estrema destra. Ciò può comportare la necessità di continuare a scorrere lateralmente mentre esamini i dati.

Fortunatamente, c'è una soluzione facile.

Puoi usare il --wrap opzione per impostare la larghezza massima di ogni colonna. Qualsiasi colonna che contiene testo più lungo di quella andrà a capo alla riga successiva.

Puoi anche usare --wordwrap on o la sua scorciatoia -ww per assicurarti che le parole non vengano tagliate a metà.

Esempio

Supponiamo di impostare la nostra modalità di output su table :

.mode table

In questa fase, non abbiamo ancora specificato alcuna opzione di avvolgimento.

Pertanto, quando selezioniamo colonne con testo lungo, non avvolgere:

SELECT * FROM Album LIMIT 2;

Risultato:

+---------+---------------------------------------+----------+
| AlbumId |                 Title                 | ArtistId |
+---------+---------------------------------------+----------+
| 1       | For Those About To Rock We Salute You | 1        |
| 2       | Balls to the Wall                     | 2        |
+---------+---------------------------------------+----------+

Ora impostiamo l'opzione di avvolgimento:

.mode --wrap 20

Ora eseguiamo di nuovo la query:

SELECT * FROM Album LIMIT 2;

Risultato:

+---------+----------------------+----------+
| AlbumId |        Title         | ArtistId |
+---------+----------------------+----------+
| 1       | For Those About To R | 1        |
|         | ock We Salute You    |          |
+---------+----------------------+----------+
| 2       | Balls to the Wall    | 2        |
+---------+----------------------+----------+

Possiamo vedere che la prima riga è stata avvolta in base al nostro --wrap impostazioni.

Non ho specificato il ritorno a capo automatico in questo esempio e quindi in questo caso, la parola "Rock" è stata suddivisa:parte è rimasta sulla prima riga e parte è rimasta avvolta nella riga successiva.

Possiamo superare questo problema con --wordwrap on o la sua scorciatoia -ww :

.mode -wrap 20 -ww

È come fare quanto segue:

.mode -wrap 20 --wordwrap on

Ora eseguiamo di nuovo la query:

SELECT * FROM Album LIMIT 2;

Risultato:

+---------+---------------------+----------+
| AlbumId |        Title        | ArtistId |
+---------+---------------------+----------+
| 1       | For Those About To  | 1        |
|         | Rock We Salute You  |          |
+---------+---------------------+----------+
| 2       | Balls to the Wall   | 2        |
+---------+---------------------+----------+

Questa volta la parola "Rock" viene spostata alla riga successiva anziché essere tagliata.

Un'altra opzione:qbox Modalità

Un'altra opzione per avvolgere le righe di testo consiste nell'usare qbox modalità di uscita:

.mode qbox

Questa è una scorciatoia per quanto segue:

.mode box --wrap 60 --quote

Quindi questo racchiude le righe a 60 caratteri e cita le stringhe come un letterale SQL.