#regex #sqlite #url
#регулярное выражение #sqlite #url
Вопрос:
Я использую Sqlite. И у меня есть таблица T с тремя столбцами: ID (int), Имя пользователя (текст) и сообщение (текст).
Мне нужно что-то вроде этого:
SELECT * FROM T WHERE Message CONTAINS <URL>
Есть ли способ добиться этого?
Я читал, что в Sqlite есть функция для обработки регулярных выражений (regexp), но она должна быть реализована вручную. И на данный момент реализация REGEXP
не является вариантом.
REGEXP
Оператор — это специальный синтаксис дляregexp()
пользовательской функции.regexp()
По умолчанию пользовательская функция не определена, поэтому использованиеREGEXP
оператора обычно приводит к сообщению об ошибке. Если во время выполнения добавляется определенная приложением SQL-функция namedregexp
, тоX REGEXP Y
оператор будет реализован как вызовregexp(Y,X)
.
Комментарии:
1. Под «не вариант» вы имеете в виду, что вы не можете определить
regexp()
функцию или не знаете, как это сделать? (в последнем случае я бы назвал это «не решением»)
Ответ №1:
попробуйте это :
ВЫБЕРИТЕ * ИЗ T, ГДЕ сообщение ТИПА ‘%URL%’;