我的数据库中有一个同义词表,我想使用FREETEXT收集数据。但是我正在搜索的字符串包含空格。
例如,我想搜索代码“AB 001”
select *
from TheThesaurus
where freetext(TheDefinition, 'AB 001')
此代码将搜索“AB”和“001”,这将给我带来更多垃圾结果。我尝试将字符串放在双引号中,但它也不起作用。
select *
from TheThesaurus
where freetext(TheDefinition, '"AB 001"')
我怎么能这样做我可以搜索完整的“AB 001”字符串??
我使用LIKE并且它给了我想要的结果,但是我想尝试全文搜索,因为它更快,并且在我的情况下会给出更准确的结果。
select *
from TheThesaurus
where TheDefinition LIKE '%AB 001%'
谢谢!
我尝试使用CONTAINS
,但它给了我额外的结果,我无法理解他们为什么被退回。 CONTAINS
函数对我来说也不起作用:/
select *
from TheThesaurus
where Contains(TheDefinition, 'AB%001')
答案 0 :(得分:0)
查询
选择* 来自TheThesaurus 包含的地方(TheDefinition,'“AB 001”')
将为您提供带有正确结果的短语搜索