SQLite выбирает записи, содержащие URL-адрес

#regex #sqlite #url

#регулярное выражение #sqlite #url

Вопрос:

Я использую Sqlite. И у меня есть таблица T с тремя столбцами: ID (int), Имя пользователя (текст) и сообщение (текст).

Мне нужно что-то вроде этого:

 SELECT * FROM T WHERE Message CONTAINS <URL>
  

Есть ли способ добиться этого?

Я читал, что в Sqlite есть функция для обработки регулярных выражений (regexp), но она должна быть реализована вручную. И на данный момент реализация REGEXP не является вариантом.

REGEXP Оператор — это специальный синтаксис для regexp() пользовательской функции. regexp() По умолчанию пользовательская функция не определена, поэтому использование REGEXP оператора обычно приводит к сообщению об ошибке. Если во время выполнения добавляется определенная приложением SQL-функция named regexp , то X REGEXP Y оператор будет реализован как вызов regexp(Y,X) .

Комментарии:

1. Под «не вариант» вы имеете в виду, что вы не можете определить regexp() функцию или не знаете, как это сделать? (в последнем случае я бы назвал это «не решением»)

Ответ №1:

попробуйте это :
ВЫБЕРИТЕ * ИЗ T, ГДЕ сообщение ТИПА ‘%URL%’;