У меня есть пример таблицы MYSQL со следующими строками:
name
------
Oppo A71 (2018)
Plum Flipper (2018)
Lenovo K5 Note (2018)
Huawei Y9 (2018)
Huawei Y7 (2018)
Я хочу разрешить пользователю выполнять поиск в базе данных.Проблема в том, что в большинстве случаев пользователь будет искать ключевое слово 2018
без скобок, например, samsung a8 2018
вместо samsung a8 (2018)
.
Так для следующего запроса:
SELECT * FROM phones WHERE name LIKE '% 2018 %'
Он ничего не вернет, потому что 2018
хранится в БД с квадратными скобками.
Если я переключу запрос на:
SELECT * FROM phones WHERE name LIKE '%2018%'
Он будет правильно отображать результатыно я не хочу, чтобы запрос соответствовал тексту, если он является частью строки или возвращает тысячи несущественных строк.Слова должны быть фактически словами, найденными, а не частью слов.Поэтому у меня должны быть пробелы в течение года.
Есть ли способ при запуске LIKE
игнорировать скобки, чтобы, например, 2018
соответствовал строкам с (2018)
в качестве слова?