0

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

1 回答 1

0

查询

select * from Thesaurus where Contains(TheDefinition, '"AB 001"')

将为您提供正确结果的词组搜索

于 2014-06-23T11:12:37.553 回答