FullText в Microsoft Sql Server - возвращение точно слова - PullRequest
1 голос
/ 20 декабря 2010

Может кто-нибудь сказать мне, как запросить полнотекстовую таблицу в Sql Server, и получить только точно совпадения?Пример:

У меня есть эти записи в таблице с именем "Элементы":

Ванна
Ванная
Тест
Тестирование

Мне нужно запросить баню и получить только 1 запись «баня», исключая слово ванная.То же самое со словом «Тест», которое в моем контексте отличается от «Тестирование».

Ответы [ 2 ]

1 голос
/ 20 декабря 2010

Вы пробовали

SELECT column1, column2, ...
FROM [itens] AS FT_TBL INNER JOIN
   CONTAINSTABLE([itens], *, 'Bath') AS KEY_TBL
   ON FT_TBL.unique_key_column = KEY_TBL.[KEY]

http://msdn.microsoft.com/en-us/library/ms189760.aspx


или

SELECT columnname
FROM [itens]
WHERE CONTAINS(somecolumn, 'Bath')

http://msdn.microsoft.com/en-us/library/ms187787.aspx


Только что заметил обновленные вопросы ( применяется форматирование ). Если в вашем столбце содержатся ключевые слова ( отдельное слово ), тогда вы можете просто выбрать column = 'keyword'.

SELECT columnname
FROM [itens]
WHERE somecolumn = 'Bath'
1 голос
/ 20 декабря 2010

Вы ищете ванну и тестируете по одному запросу или по другому? если в одиночку, то одно из решений, которое я вижу:

select top 1 from table where column like '[., ]bath[., ]%'

если в разных, то объединение серии таких селектов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...