|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
42282
|
|