SQLite
 sql >> Datenbank >  >> RDS >> SQLite

So brechen Sie lange Textzeilen in SQLite-Ergebnissen um

Wenn Sie einen der tabellarischen Ausgabemodi von SQLite verwenden, kämpfen Sie möglicherweise mit langen Textzeilen, die dazu führen, dass alle nachfolgenden Spalten weit nach rechts verschoben werden. Dies kann dazu führen, dass Sie beim Durchsehen der Daten immer wieder seitwärts scrollen müssen.

Glücklicherweise gibt es eine einfache Lösung.

Sie können den --wrap verwenden Option zum Festlegen der maximalen Breite jeder Spalte. Jede Spalte, die längeren Text enthält, wird in die nächste Zeile umgebrochen.

Sie können auch --wordwrap on verwenden oder die Abkürzung -ww um sicherzustellen, dass Wörter nicht auf halber Strecke abgeschnitten werden.

Beispiel

Angenommen, wir setzen unseren Ausgabemodus auf table :

.mode table

Zu diesem Zeitpunkt haben wir noch keine Umbruchoptionen angegeben.

Wenn wir also Spalten mit langem Text auswählen, wird dies nicht Umbruch:

SELECT * FROM Album LIMIT 2;

Ergebnis:

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

Lassen Sie uns nun die Wrap-Option festlegen:

.mode --wrap 20

Lassen Sie uns nun die Abfrage erneut ausführen:

SELECT * FROM Album LIMIT 2;

Ergebnis:

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

Wir können sehen, dass die erste Zeile gemäß unserem --wrap umgebrochen wurde Einstellungen.

Ich habe in diesem Beispiel keinen Zeilenumbruch festgelegt, und so wurde in diesem Fall das Wort „Rock“ aufgelöst – ein Teil davon blieb in der ersten Zeile und ein Teil davon wurde in die nächste Zeile umgebrochen.

Wir können dies mit --wordwrap on umgehen oder die Abkürzung -ww :

.mode -wrap 20 -ww

Das ist dasselbe wie Folgendes:

.mode -wrap 20 --wordwrap on

Lassen Sie uns nun die Abfrage erneut ausführen:

SELECT * FROM Album LIMIT 2;

Ergebnis:

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

Dieses Mal wird das Wort „Rock“ in die nächste Zeile umgebrochen und nicht abgeschnitten.

Eine weitere Option:qbox Modus

Eine weitere Option zum Umbrechen von Textzeilen ist die Verwendung von qbox Ausgabemodus:

.mode qbox

Das ist eine Abkürzung für Folgendes:

.mode box --wrap 60 --quote

Das bricht also Zeilen mit 60 Zeichen um und setzt Strings wie ein SQL-Literal in Anführungszeichen.