SQLite3 Terminal Ausgabe Formatierung .width

8

Dies ist nur eine Augenweide, wenn Sie mit SQLite im Terminal arbeiten, aber gibt es eine Möglichkeit, die Spaltenbreite mit Headern zu formatieren, so dass jeder Header entsprechend angepasst wird (und unabhängig von den anderen Spalten)? Mit anderen Worten, hier ist die Ausgabe mit

%Vor%

für eine einfache Tabelle

%Vor%

Es tut, was ich erwarten würde. Sie ändert die Größe jeder Spalte so, dass das längste Element in einer Spalte angezeigt werden kann. Allerdings möchte ich die Ausgabe automatisch so formatieren, dass jede Spalte für das längste Element in nur seiner -Spalte breit genug ist. Mit anderen Worten, ich möchte nicht

eingeben müssen %Vor%

nach der Tatsache, um diese Ausgabe zu erhalten

%Vor%

Gibt es etwas, was ich tun kann, um die Spaltengröße richtig zu automatisieren?

    
loganhasson 19.09.2013, 18:34
quelle

5 Antworten

2

Das Werkzeug sqlite3 hat keine solche Funktion.

Sie müssten die Spaltenbreiten manuell berechnen ( SELECT max(length(col1)) ... ).

    
CL. 19.09.2013, 19:47
quelle
2

Für eine "menschenlesbare" Ausgabe können Sie column mode verwenden und header output aktivieren. Das wird Ihnen etwas Ähnliches wie die Ausgabe sqlplus in Ihren Beispielen geben:

%Vor%     
Talha Mughal 10.10.2016 05:05
quelle
1

Sie können das automatisch mit rlwrap und column :

machen %Vor%

Weitere Informationen finden Sie in meiner Antwort auf sqlite3 schneidet / schneidet / schneidet meine Textspalten ab .

    
arekolek 11.11.2015 16:09
quelle
1
___ answer18903644 ___

Das Werkzeug %code% hat keine solche Funktion.

Sie müssten die Spaltenbreiten manuell berechnen ( %code% ).

    
___ qstntxt ___

Dies ist nur eine Augenweide, wenn Sie mit SQLite im Terminal arbeiten, aber gibt es eine Möglichkeit, die Spaltenbreite mit Headern zu formatieren, so dass jeder Header entsprechend angepasst wird (und unabhängig von den anderen Spalten)? Mit anderen Worten, hier ist die Ausgabe mit

%Vor%

für eine einfache Tabelle

%Vor%

Es tut, was ich erwarten würde. Sie ändert die Größe jeder Spalte so, dass das längste Element in einer Spalte angezeigt werden kann. Allerdings möchte ich die Ausgabe automatisch so formatieren, dass jede Spalte für das längste Element in nur seiner -Spalte breit genug ist. Mit anderen Worten, ich möchte nicht

eingeben müssen %Vor%

nach der Tatsache, um diese Ausgabe zu erhalten

%Vor%

Gibt es etwas, was ich tun kann, um die Spaltengröße richtig zu automatisieren?

    
___ answer33654758 ___

Sie können das automatisch mit %code% und %code% :

machen %Vor%

Weitere Informationen finden Sie in meiner Antwort auf sqlite3 schneidet / schneidet / schneidet meine Textspalten ab .

    
___ tag123sql ___ Structured Query Language (SQL) ist eine Sprache für die Abfrage von Datenbanken. Fragen sollten Codebeispiele, Tabellenstruktur, Beispieldaten und ein Tag für die verwendete DBMS-Implementierung (z. B. MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 usw.) enthalten. Wenn sich Ihre Frage ausschließlich auf ein bestimmtes DBMS bezieht (verwendet bestimmte Erweiterungen / Funktionen), verwenden Sie stattdessen das Tag des DBMS. Antworten auf mit SQL gekennzeichnete Fragen sollten den ISO / IEC-Standard SQL verwenden. ___ antwort43728646 ___

Sie können ein einfaches awk-Skript wie in:

verwenden %Vor%

Sehr einfach. Auch viel einfacher und flexibler als der Spaltenmodus von SQLite.

    
___ qstnhdr ___ SQLite3 Terminal Ausgabe Formatierung .width ___ tag123sqlite3 ___ SQLite ist eine Softwarebibliothek, die eine eigenständige, serverlose, transaktionssichere SQL-Datenbank-Engine ohne Konfiguration implementiert. ___ tag123formatting ___ Der Prozess der Umwandlung von Text oder Daten für die Präsentation. Ein typisches Beispiel wäre die Umwandlung eines Dezimals in ein bestimmtes Währungsformat mit der korrekten Anzahl von Dezimalstellen. ___ answer46208569 ___

Aus der Dokumentation von SQLite :

  

Wenn Sie eine Spalte mit einer Breite von 0 angeben, wird die Spaltenbreite automatisch auf das Maximum von drei Zahlen angepasst: 10, die Breite des Headers und die Breite der ersten Datenzeile. Dies macht die Spaltenbreite selbsteinstellend. Die Standardeinstellung für die Breite jeder Spalte ist der Wert 0 für die automatische Anpassung.

    
___ answer39951575 ___

Für eine "menschenlesbare" Ausgabe können Sie %code% mode verwenden und %code% output aktivieren. Das wird Ihnen etwas Ähnliches wie die Ausgabe %code% in Ihren Beispielen geben:

%Vor%     
___ tag123sqlite ___ SQLite ist eine Softwarebibliothek, die eine eigenständige, serverlose Transaktions-SQL-Datenbank-Engine ohne Konfiguration implementiert. ___ tag123terminal ___ Eine Terminal- oder Befehlszeilenschnittstelle ist eine reine Textschnittstelle für die Interaktion mit einem Betriebssystem oder einer Software. Ein Benutzer gibt typischerweise Befehle in das Terminal ein, um bestimmte Aufgaben auszuführen. ___
jw203198 02.05.2017 01:14
quelle
0

Aus der Dokumentation von SQLite :

  

Wenn Sie eine Spalte mit einer Breite von 0 angeben, wird die Spaltenbreite automatisch auf das Maximum von drei Zahlen angepasst: 10, die Breite des Headers und die Breite der ersten Datenzeile. Dies macht die Spaltenbreite selbsteinstellend. Die Standardeinstellung für die Breite jeder Spalte ist der Wert 0 für die automatische Anpassung.

    
RFenzo 14.09.2017 00:09
quelle