SQLite Выберите, откуда столбец содержит строку?
В настоящее время у меня есть выборки на основе столбца с одинаковым значением.
"SELECT * FROM users WHERE uuid = ?"
Но что, если я хочу вернуть строку на основе одного из столбцов, содержащих "строковое значение"? Некоторым псевдокодом будет:
SELECT * FROM users
WHERE column CONTAINS mystring
Любая помощь приветствуется, я искал другие ответы, но безрезультатно.
Ответы
Ответ 1
SELECT * FROM users WHERE column LIKE '%mystring%'
сделает это.
LIKE
означает, что мы не выполняем точное соответствие (column = value
), но делаем еще более нечеткое соответствие. "%" является подстановочным символом - он соответствует 0 или более символам, поэтому это говорит "все строки, в которых столбец имеет 0 или более символов, а затем" mystring ", за которым следует 0 или более символов".
Ответ 2
Используйте предложение LIKE
.
Например. если ваша строка содержит "pineapple123"
, ваш запрос будет выглядеть следующим образом:
SELECT * from users WHERE column LIKE 'pineapple%';
И если ваша строка всегда начинается с любого числа и заканчивается любым числом, например "345pineapple4565"
, вы можете использовать:
SELECT * from users WHERE column LIKE "%pineapple%";
Ответ 3
Просто с помощью instr не нужно указывать дополнительный символ.
Select * from repos where instr("column_name", "Search_string") > 1