我的数据库中有一个词库表,我想使用 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')