У меня есть столбец с названием «заголовки» со значениями:
1) Гарри Поттер
2) Гарри
3) Гарри По
4) Марио Поттер
5) Хэнри Плоттер
Если я сделаю поиск вроде:
SELECT * FROM books WHERE titles LIKE 'Harry Potter%'
я получаю только первую строку с «Гарри Поттером», что нормально. Но как я могу получить вторую и третью строки также в результате, потому что они соответствуют строке поиска «Гарри Поттер» (Гарри Поттер содержит Гарри, Гарри Поттер содержит Гарри По). НО не "Гарри Поттер" Не содержит "Марио Поттера"
Я ищу такую функцию, как: если search_string содержит ROW
Спасибо
Если я ищу «Гарри Поттер», все строки, которые являются частью и начинаются с «Гарри Поттера», должны возвращаться как «Ха», «Гарри», «Гарри По». НО НЕ «Поттер». Редактирую вопрос. Спасибо






Используйте LIKE с вашим столбцом, окруженным подстановочными знаками:
SELECT *
FROM books
WHERE 'Harry Potter' LIKE CONCAT('%', titles, '%')
Если у вас есть долгосрочная потребность в таком поиске, вы можете изучить возможности MySQL полнотекстовый поиск.
Спасибо! это работает
Вы должны определить правило немного лучше ... Вернуть Гарри Поттера? Или Гарри, мальчик, который выжил, Поттер?