Как получить подстроку в SQLIte?
Я извлекаю довольно много данных из базы данных SQLite. При получении я сопоставляю его с разными представлениями в своем приложении. В моей таблице есть текстовое поле, из которого я не хочу получать полный текст, только сначала n символов. Так что, например, мой запрос:
Select description from articles where id='29';
Тогда как мне получить подстроку из описания? спасибо
Ответы
Ответ 1
Используйте функцию substr
.
Из основных функций:
substr(X,Y,Z)
substr(X,Y)
Функция substr(X,Y,Z)
возвращает подстроку входной строки X
, которая начинается с символа Y
-th и длиной Z
символов. Если Z
omitted then substr(X,Y)
возвращает все символы в конец string X
, начиная с Y-го. Самый левый символ X
равен номер 1. Если Y
отрицательный, то первый символ подстроки определяется путем подсчета справа, а не слева. Если Z
минус, то символы abs(Z)
, предшествующие символу Y
-th, вернулся. Если X
- строка, то индексы символов относятся к фактическим Символы UTF-8. Если X
- это BLOB, то индексы относятся к байтам.
Ответ 2
Чтобы получить подстроку в SQLite
Вы можете использовать встроенную функцию в SQLite, которая substr(X,Y,Z)
. Поле x представляет собой строковый ввод, который нужно нарезать, поле y и z представляет собой начальную точку и конечную точку, соответственно, с использованием индекса.
===============================
|Database Table : **articles**|
===============================
|id | description |
-------------------------------
|29 | Lorem ipsum domit |
===============================
Теперь мы попытаемся сделать запрос выбора для нашего описания
SELECT substr(description,1,4) FROM articles where id='29';
Вывод будет: Lore вместо Lorem ipsum domit