SQL:LIKE和Contains - 结果不同

时间:2014-02-04 15:20:32

标签: sql sql-server

我正在使用MS SQL Express SQL函数Contains来选择数据。但是,当我使用LIKE运算符选择数据时,我意识到Contains函数缺少几行。

重建索引但没有帮助。

Sql:brs.SearchText like '%aprilis%'CONTAINS(brs.SearchText, '*aprilis*')

contains功能错过了以下行:

22-28.aprīlis
[1.aprīlis]
Sīraprīlis

PS。如果我直接搜索CONTAINS(brs.SearchText, '*22-28.aprīlis*'),则会找到它们

1 个答案:

答案 0 :(得分:8)

contains是基于全文索引的功能。它支持单词,短语和单词上的前缀匹配,但不支持后缀匹配。因此,您可以匹配以'aprilis'开头的单词,但不能匹配以其结尾或在中间任意包含它的单词。您可以利用这些术语的词库。

documentation中详细解释了这一点。