Поиск по слову в mysql ?

 
0
 
SQL
ava
Poveritov | 23.12.2016, 16:08
Здравствуйте.

подскажите как осуществить поиск следующего содержания:

в таблице есть полей uname   где указано имя и фамилия в формате 'Имя Фамилия'.

требуется отобрать записи из таблицы в которой:
    имя из поля uname содержится в тексте 'Фамилия1 Имя1 Фамилия2 Имя2 Фамилия3 Имя3  и т.д.'  И
    фамилия из поля uname содержится в тексте 'Фамилия1 Имя1 Фамилия2 Имя2 Фамилия3 Имя3  и т.д.'

мой вариант
 

select * from table_name
where
locate(SUBSTRING_INDEX (uname, ' ', -1), 'Фамилия1 Имя1 Фамилия2 Имя2 Фамилия3 Имя3' ) AND LOCATE(SUBSTRING_INDEX (uname, ' ', 1), 'Фамилия1 Имя1 Фамилия2 Имя2 Фамилия3 Имя3' ) 


находит не только Фамилия1 Имя1, но и все записи, если uname будет содержать такое значение Илия1 Мя1

Мне нужен точный поиск слова в строке.

match against не позволяет match использовать внутри себя функцию SUBSTRING_INDEX (uname, ' ', -1)
Kommentare (2)
ava
Akina | 23.12.2016, 17:23 #
Добавьте пробелы в начало и конец как строки, так и искомого фрагмента.
ava
Poveritov | 24.12.2016, 15:45 #
Цитата (Akina @ 23.12.2016,  17:23)
Добавьте пробелы в начало и конец как строки, так и искомого фрагмента.

Спасибо, помогло!
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden