SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.10.2007 19:52:16

Babutta
Участник
Откуда: Балашиха
Зарегистрирован: 21.09.2007
Сообщений: 19

Поиск фразы или слов в строке

Кто-нибудь может подсказать, как сделать следующее.
Допустим у нас есть столбец формата, например, text, а мне надо найти все строки, у которых в этом столбце содержится ряд слов, причём в любой последовательности и в любых частях текста.
SELECT my_text FROM my_table WHERE LOCATE('раз два три',my_text); в данном случае не подходит

Неактивен

 

#2 03.10.2007 20:56:05

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Поиск фразы или слов в строке

Можете сделать FULLTEXT INDEX на этой колонке и использовать синтаксис
SELECT fields FROM table WHERE MATCH(column) AGAINST ('раз два три');

Учтите, что FULLTEXT можно сделать только на таблицах MyISAM, и он отвратительно
работает с многобайтовыми кодировками, поэтому Вам прийдется сделать эту
колонку однобайтовой, например, cp1251.

http://dev.mysql.com/doc/refman/5.0/en/ … olean.html

Неактивен

 

#3 04.10.2007 02:30:10

Babutta
Участник
Откуда: Балашиха
Зарегистрирован: 21.09.2007
Сообщений: 19

Re: Поиск фразы или слов в строке

Спасибо. Попробую так.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson