sql >> Base de Datos >  >> RDS >> SQLite

Cómo envolver largas líneas de texto en los resultados de SQLite

Si está utilizando uno de los modos de salida tabulares de SQLite, es posible que se encuentre luchando con largas líneas de texto que dan como resultado que todas las columnas subsiguientes se desplacen hacia la derecha. Esto puede hacer que tenga que seguir desplazándose hacia los lados mientras examina los datos.

Afortunadamente, hay una solución fácil.

Puedes usar el --wrap opción para establecer el ancho máximo de cada columna. Cualquier columna que contenga texto más largo que eso se ajustará a la siguiente línea.

También puede usar --wordwrap on o su atajo -ww para asegurarse de que las palabras no se corten a la mitad.

Ejemplo

Supongamos que establecemos nuestro modo de salida en table :

.mode table

En esta etapa, todavía no hemos especificado ninguna opción de ajuste.

Por lo tanto, cuando seleccionamos columnas con texto largo, no envolver:

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        |
+---------+---------------------------------------+----------+

Ahora configuremos la opción de ajuste:

.mode --wrap 20

Ahora ejecutemos la consulta de nuevo:

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 la primera línea se ha ajustado de acuerdo con nuestro --wrap configuración.

No especifiqué el ajuste de línea en este ejemplo y, por lo tanto, en este caso, la palabra "Roca" se dividió:parte permaneció en la primera línea y otra parte pasó a la línea siguiente.

Podemos superar esto con --wordwrap on o su atajo -ww :

.mode -wrap 20 -ww

Eso es lo mismo que hacer lo siguiente:

.mode -wrap 20 --wordwrap on

Ahora ejecutemos la consulta de nuevo:

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        |
+---------+---------------------+----------+

Esta vez, la palabra "Rock" se ajusta a la siguiente línea en lugar de cortarse.

Otra opción:qbox Modo

Otra opción para envolver líneas de texto es usar qbox modo de salida:

.mode qbox

Ese es un atajo para lo siguiente:

.mode box --wrap 60 --quote

Así que esto envuelve líneas en 60 caracteres y cita cadenas como un literal SQL.