Использование подстановочных знаков в предикате CONTAINS
Предикат CONTAINS поддерживает использование звездочки (*) в качестве подстановочного знака для представления слов и фраз. Можно добавить звёздочку только в конце слова или фразы. Наличие звездочки включает режим сопоставления префиксов . В этом режиме совпадения возвращаются, если столбец содержит указанное слово поиска, за которым следует ноль или более других символов.
Если указана фраза, каждое слово, содержащееся в фразе, считается отдельным префиксом. Таким образом, запрос, указывающий префикс термина "местное вино*", соответствует любым строкам с текстом "местная винодельня", "местные угощения за вином" и т. д.
Примеры
Сопоставление слов
Этот пример соответствует документам, имеющим любое слово в столбце FileName, начиная с "serv".
...WHERE CONTAINS(System.FileName, '"serv*"')
Примеры соответствующих слов включают "сервер", "сервера" и "сервис".
Сопоставление фраз
Этот пример соответствует документам с любой фразой в столбце FileName, начинающимся с "comp" и в котором следующее слово начинается с "serv".
...WHERE CONTAINS(System.FileName, '"comp serv*"')
Примеры совпадающих фраз включают "comp server", "компьютерные серверы" и "сервис конкурентов".
Сопоставление с суффиксом (не поддерживается)
Звездочка используется только для сопоставления префиксов и может размещаться только в конце слова или фразы; она не работает для сопоставления суффиксов. Следующий синтаксис недопустим и не соответствует документам, в столбце FileName которых любое слово заканчивается на "serve".
-- DO NOT USE.
WHERE CONTAINS(System.FileName, '"*serve"')
Связанные разделы
Справочник