Sql Server 2005 Fulltext区分大小写问题

时间:2010-01-12 11:18:30

标签: sql sql-server case full-text-search freetext

我似乎在Microsoft SQL Server 2005中有一个奇怪的错误,其中FREETEXT()搜索在某种程度上区分大小写,尽管整理不区分大小写(Latin1_General_CI_AS)。

首先,LIKE查询完全不区分大小写,所以

WHERE column LIKE '%word%'

WHERE column LIKE '%Word%'

返回相同的结果。

此外,FREETEXT在某种程度上不区分大小写,例如

WHERE FREETEXT(column, 'Word')

将返回不同案例的结果。

BUT

WHERE FREETEXT(column, 'word')

虽然仍然返回word的不区分大小写的匹配项,但会提供不同的结果集。 或者,正如我在调查后发现的那样,搜索word会为word的不同案例提供所有匹配,但搜索Word会给出相同的PLUS屈折结果。

或者使用我找到的一个实际案例,搜索marketingleader会返回包含该词的所有结果,与案例无关,而搜索Marketingleader会返回这些,但结果也只是包含在搜索小写时不显示的leader

有没有人知道造成这种情况的原因以及如何开启小写单词的屈折/模糊搜索?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用freetext的替代contains,其中屈折结果是可选的。

CONTAINS (Transact-SQL)

.. oups只是看到你在你的问题中提到了contains,但是它的行为与提供的例子中的freetext的行为方式相同吗?