Quando usamos o SQLite pela linha de comando, por padrão os valores de uma coluna não são alinhadas. Exemplo:
sqlite> select distinct org_type, role from interviews order by org_type;
gov|Developer
international|External consultant
private|Developer
private|Executive manager
private|Development manager
private|External consultant
private|Infrastructure manager
private|Designer
private|Infrastructure engineer
private|Enabler team member
private non profit|Developer
Para que as saídas saiam alinhadas é conveniente utilizar o modo column. Além disso, a saída fica melhor ativando os cabeçalhos. Veja como fica:
sqlite> .mode column
sqlite> .headers on
sqlite> select distinct org_type, role from interviews order by org_type;
org_type role
---------- ----------
gov Developer
internatio External c
private Developer
private Executive
private Developmen
private External c
private Infrastruc
private Designer
private Infrastruc
private Enabler te
private no Developer
Agora as saídas ficaram alinhadas e com uma linha de cabeçalho com os títulos das colunas. Ah, e esses comandos mode e headers só precisam ser dados uma vez. Depois disso, as saídas de todos os comandos SQL serão formatados desse jeito.
Mas ainda assim não ficou tão bom… dá pra ver que os valores são truncados (i.e., cortados)… o SQLite decide o tamanho do truncamento em função do tamanho do valor da primeira linha ou do título, caso o valor da primeira linha seja menor que do título. Mas há uma forma de contornar isso. É com o comando width.
Com o comando width dá pra determinar o tamanho (em caracteres) de cada coluna. Assim, é possível resolver nosso problema:
sqlite> .width 20 30 sqlite> select distinct org_type, role from interviews order by org_type; org_type role -------------------- ------------------------------ gov Developer international External consultant private Developer private Executive manager private Development manager private External consultant private Infrastructure manager private Designer private Infrastructure engineer private Enabler team member private non profit Developer
O comando width no exemplo especificou que a primeira coluna deve ser formatada com 20 caracteres, enquanto que a segunda coluna deve ser formatada com 30 caracteres. Aí a saída ficou boa!
Ainda é um tanto específico e manual, mas quebra o galho 🙂