SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Como quebrar longas linhas de texto em resultados SQLite


Se você estiver usando um dos modos de saída tabular do SQLite, poderá se deparar com longas linhas de texto que resultam em todas as colunas subsequentes sendo empurradas para a direita. Isso pode fazer com que você tenha que continuar rolando para os lados enquanto examina os dados.

Felizmente, há uma solução fácil.

Você pode usar o --wrap opção para definir a largura máxima de cada coluna. Qualquer coluna que contenha texto maior que isso será quebrada para a próxima linha.

Você também pode usar --wordwrap on ou seu atalho -ww para garantir que as palavras não sejam cortadas no meio do caminho.

Exemplo


Suponha que definimos nosso modo de saída para table :
.mode table

Nesta fase, ainda não especificamos nenhuma opção de encapsulamento.

Portanto, quando selecionamos colunas com texto longo, não enrolar:
SELECT * FROM Album LIMIT 2;

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

Agora vamos definir a opção wrap:
.mode --wrap 20

Agora vamos executar a consulta novamente:
SELECT * FROM Album LIMIT 2;

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

Podemos ver que a primeira linha foi quebrada de acordo com nosso --wrap definições.

Eu não especifiquei quebra de linha neste exemplo e, portanto, neste caso, a palavra "Rock" foi dividida - parte dela ficou na primeira linha e parte dela foi quebrada na próxima linha.

Podemos superar isso com --wordwrap on ou seu atalho -ww :
.mode -wrap 20 -ww

Isso é o mesmo que fazer o seguinte:
.mode -wrap 20 --wordwrap on

Agora vamos executar a consulta novamente:
SELECT * FROM Album LIMIT 2;

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

Desta vez, a palavra “Rock” é colocada na próxima linha em vez de ser cortada.

Outra opção:qbox Modo


Outra opção para quebrar linhas de texto é usar qbox modo de saída:
.mode qbox

Esse é um atalho para o seguinte:
.mode box --wrap 60 --quote

Portanto, isso envolve linhas em 60 caracteres e cita strings como um literal SQL.