2010-07-23 2 views
2

Простой вопрос, возможно, сложный ответ. Мы используем CONTAINS, но при сопоставлении критериев, содержащих апострофы (потому что они предназначены для французских названий дорог), то, очевидно, они не совпадают. Так, например, поиск «Lislet», когда база данных содержит «L'islet», ничего не дает.Игнорирование апострофов В Содержит

Я изучил словари и тезаурусы (функции SQL), но, к сожалению, не выполняю работу. Тезаурусы выглядели очень многообещающими, но после тестирования в нашей среде стало очевидно, что они не поддерживают апострофы, что является большим позором, потому что это сработало бы отлично.

Единственное, что мы думаем сделать, это создать полностью индексированный вид, который удаляет апострофы.

Любые другие яркие идеи?

+0

Вы уже пробовали заменить строку и использовать QUOTED_IDENTIFIER OFF? – JNK

+0

Мое предложение «Единственное, что мы думаем сделать, это создать полностью индексированный вид, который вытесняет апострофы» указывает на это уже. Вы не должны выделять апострофы из базовой таблицы, потому что это не точное представление фактических данных. – Kezzer

ответ

0

Вы изучили полнотекстовый каталог для своей базы данных? Существует опция чувствительности Accent. Вы можете выбрать Чувствительный или Нечувствительный. Я думаю, вы хотите, чтобы это было настроено на Нечувствительность, так что апострофы игнорируются.

+0

Мы сделали это непосредственно непосредственно в SQL, вы можете установить его в LATIN_GENERAL_CI_AI, но это что-то другое. Акцент нечувствителен для букв с акцентами на них, апострофы! = Акценты. – Kezzer

Смежные вопросы