Я пытаюсь найти базу данных для ключевого слова, такого как Obrien, и результаты должны возвращать все записи с O'Brien. Я попытался использовать полнотекстовый поиск MySql. Проблема с ним - это набор результатов, который может содержать только 1 запись, но полнотекстовая функция требует, чтобы набор результатов содержал не более 3 записей или 50% согласованных результатов.
Кто-нибудь знает, как это сделать?
Большое вам спасибо за ваш ответ. Поистине оцените вашу помощь. Я попробовал это, и это сработало для меня. Я получил это решение на этом сайте.
Название: Апострофы и поиск в SQL Server FT
последнее решение, предложенное "Alistair Knock", которое
SELECT фамилия FROM table ГДЕ фамилия LIKE '% value%' ИЛИ ЗАМЕНИТЬ (фамилия, '' '', '') LIKE '% value%'
Это работает даже тогда, когда FT не включен.
Спасибо всем. Надеюсь, это поможет кому-то.
Вы могли бы сделать что-то вроде:
REPLACE(name,'''','')
Я протестировал его:
DECLARE @name VARCHAR(10)
SELECT @name = 'O''brien'
SELECT @name as "pre", REPLACE(@name, '''', '') as "post"
и это игра меня O'brien для pre column и Obrien за столбец.
изменить после ответа от OP:
попробуйте это
SELECT TOP 1 *
FROM table
WHERE REPLACE(name, '''', '') = REPLACE(searchString, '''', '')