Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Работа с like '%%' (Hamyachok) 18/03/2013 - 16:03:43
      Re: LIKE не поодходит. (Akina) 18/03/2013 - 21:15:17
      Re: LIKE не поодходит. (Hamyachok) 22/03/2013 - 13:47:15
      Re: LIKE не поодходит. (Akina) 22/03/2013 - 14:14:34
      Re: LIKE не подходит... хотя можно попробовать... (Akina) 22/03/2013 - 14:19:36

> Original message text:
> From: Hamyachok - 18/03/2013 - 16:03:43
> Subject:Работа с like '%%'
> -----------------
> Здравствуйте мастера.
> Скажите как можно сделать выборку из поля типа text, с учетом того, чтобы введенный запрос работал по принципу %% но только с начала слова.
> Пример: значение поля "Легковые автомобили"
> запрос "автомобили" - даст ответ
> запрос "легковые" - даст ответ
> запрос "втомобили" или "егковые" - не даст ответ
>


From: Akina - 22/03/2013 - 14:19:36
Subject:LIKE не подходит... хотя можно попробовать...
-----------------
where CONCAT(' ',`field`,' ') LIKE (' ','WordToSearchFor',' ')

Однако запросто можно резануться на том, что в тексте между словами имеется иной разделитель (особенно часто - запятая либо иной знак препинания после слова) - придётся все знаки препинания REPLACE-ить предварительно на пробелы.

И явный недостаток такого подхода - фуллскан всей таблицы независимо ни от чего. Если в выборку попадает половина записей - это ещё терпимо, но если селективность запроса высока, или БД большая - время выполнения будет нецензурно большим.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
42282



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |