SQLite
 sql >> база данни >  >> RDS >> SQLite

Как да увиете дълги редове от текст в резултатите от SQLite

Ако използвате един от табличен изходен режим на SQLite, може да се окажете, че се борите с дълги редове текст, които водят до изтласкване на всички следващи колони далеч надясно. Това може да ви накара да продължите да превъртате настрани, докато преглеждате данните.

За щастие има лесно решение.

Можете да използвате --wrap опция за задаване на максимална ширина на всяка колона. Всяка колона, която съдържа текст, по-дълъг от този, ще се пренесе на следващия ред.

Можете също да използвате --wordwrap on или неговия пряк път -ww за да гарантирате, че думите няма да бъдат отрязани по средата.

Пример

Да предположим, че сме задали нашия изходен режим на table :

.mode table

На този етап все още не сме посочили никакви опции за обвиване.

Следователно, когато избираме колони с дълъг текст, няма обвивка:

SELECT * FROM Album LIMIT 2;

Резултат:

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

Сега нека зададем опцията за обвиване:

.mode --wrap 20

Сега нека стартираме отново заявката:

SELECT * FROM Album LIMIT 2;

Резултат:

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

Можем да видим, че първият ред е обвит в съответствие с нашия --wrap настройки.

Не посочих пренос на думи в този пример и така в този случай думата „Rock“ беше разбита – част от нея остана на първия ред, а част от нея беше увита в следващия ред.

Можем да преодолеем това с --wordwrap on или неговия пряк път -ww :

.mode -wrap 20 -ww

Това е същото като да направите следното:

.mode -wrap 20 --wordwrap on

Сега нека стартираме отново заявката:

SELECT * FROM Album LIMIT 2;

Резултат:

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

Този път думата „Rock“ е преместена на следващия ред, вместо да бъде отрязана.

Друга опция:qbox Режим

Друга възможност за обвиване на редове с текст е да използвате qbox изходен режим:

.mode qbox

Това е пряк път за следното:

.mode box --wrap 60 --quote

Така че това обвива редове с 60 знака и цитира низове като SQL литерал.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите текущото време в SQLite

  2. ТАБЛИЦА ЗА ПРОМЕНЯВАНЕ НА SQLite

  3. Интегриране на SQLCipher с greenDAO

  4. Каква е разликата между РЕФЕРЕНЦИИ със или без ВЪНШЕН КЛЮЧ

  5. Как да използвате клас за помощник на базата данни в клас на asynctask, работещ върху различен клас