Одинаковый формат, разные результаты. Помогите мне понять, почему CONTAINS по-разному возвращает к одному и тому же запросу - PullRequest
1 голос
/ 31 мая 2019

У меня следующий запрос:

select*
from dbo.Users
where CONTAINS(UEmailLogin,'"email1@mail.com*"')

select *
from dbo.Users
where CONTAINS(UEmailLogin,'"email2@mail.com*"')  

Первый запрос ничего не возвращает.

Вторая возвращает ожидаемые результаты.

Когда я удаляю звездочку из условия поиска

1010 * т.е. *

'"email1@mail.com"'

против

'"email1@mail.com*"'

Я получаю ожидаемые результаты.

Я пытаюсь понять, что происходит. Обе строки, возвращаемые из запроса поиска email1 и email2, практически идентичны. Единственным существенным отличием является дата их создания. Строка, содержащая email2 EmailLogin, была создана несколько месяцев назад, тогда как email1 гораздо новее.

Я читал документацию CONTAINS microsoft и думал, что это может быть связано с индексацией.

Кто-нибудь со знанием способен дать некоторое представление?

1 Ответ

0 голосов
/ 31 мая 2019

СОДЕРЖИТ для полнотекстового поиска

Имеет ли ваш UEmailLogin значение email2@mail.com* или просто email2@mail.com?

У вас есть возможность использовать подобный запрос.

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