Для работы со строками в SQLite можно применять следующие функции:
length: возвращает количество символов в строке. В качестве параметра в функцию передается строка, для которой надо найти длину:
SELECT length('обороноспособность'); -- 18
ltrim: удаляет начальные пробелы из строки. В качестве параметра принимает строку:
SELECT ltrim(' Apple');
Может принимать второй параметр - подстроку, справа от которой надо вырезать подстроку:
SELECT ltrim('iPhone 13 Pro', 'iPhone'); -- 13 Pro
rtrim: удаляет конечные пробелы из строки. В качестве параметра принимает строку:
SELECT rtrim('Apple ');
Может принимать второй параметр - подстроку, слева от которой надо вырезать подстроку:
SELECT rtrim('iPhone 13 Pro', 'Pro'); -- iPhone 13
trim: удаляет начальные и конечные пробелы из строки. В качестве параметра принимает строку:
SELECT trim(' Apple ');
Может принимать второй параметр - подстроку, слева или справа от которой надо вырезать подстроку:
SELECT trim('iPhone 13 Pro', 'Pro'); -- iPhone 13
substr и substring: вырезает из строки подстроку определенной длиной, начиная с определенного индекса. Певый параметр функции - строка, второй - начальный индекс для вырезки, и третий параметр - количество вырезаемых символов:
SELECT substr('обороноспособность', 8, 6), -- способ substring('обороноспособность', 2, 3); -- бор
Третий параметр можно опустить, тогда в результат поадают все символы с индекса, который передается во втором параметре:
SELECT substr('обороноспособность', 8), -- способность substring('обороноспособность', 2); -- бороноспособность
replace: заменяет одну подстроку другой в рамках строки. Первый параметр функции - строка, второй - подстрока, которую надо заменить, а третий - подстрока, на которую надо заменить:
SELECT replace('iPhone 12 Pro', '12 Pro', '13'); -- iPhone 13
lower: переводит строку в нижний регистр:
SELECT lower('Apple'); -- apple
upper: переводит строку в верхний регистр
SELECT upper('Apple'); -- APPLE
instr: возвращает индекс, начиная с которого в строке встречается подстрока. Индексация начинается с 1, то есть первый символ имеет индекс 1. Если подстрока не встречается в строке, то возвращается 0. Первый параметр функции - строка, а второй параметр - подстрока, индекс которой надо найти:
SELECT instr('обороноспособность', 'но'); -- 6