我有以下查询:
select*
from dbo.Users
where CONTAINS(UEmailLogin,'"email1@mail.com*"')
select *
from dbo.Users
where CONTAINS(UEmailLogin,'"email2@mail.com*"')
第一个查询不返回任何内容。
第二个返回预期结果。
当我从搜索词中删除星号
即
'"email1@mail.com"'
vs
'"email1@mail.com*"'
我获得了预期的结果。
我试图了解正在发生的事情。从email1和email2的查询搜索返回的两行几乎相同。唯一的显着区别是它们的创建日期。包含EmailLogin email2的行是在几个月前创建的,而email1是最近的行。
我一直在阅读CONTAINS微软documentation,并且一直在想它可能与索引编制有关。
有知识的人能够提供一些见识吗?
答案 0 :(得分:0)
CONTAINS用于全文搜索
您的UEmailLogin是否具有值email2@mail.com*或仅具有email2@mail.com?
您还可以选择使用类似查询。