2

我似乎在 Microsoft SQL Server 2005 中有一个奇怪的错误,FREETEXT()尽管排序规则不区分大小写 ( Latin1_General_CI_AS),但搜索有点区分大小写。

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

WHERE column LIKE '%word%'

WHERE column LIKE '%Word%'

返回相同的结果。

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

WHERE FREETEXT(column, 'Word')

将返回不同情况的结果。

WHERE FREETEXT(column, 'word')

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

或者使用我发现的实际案例之一,搜索marketingleader返回包含该单词的所有结果,与大小写无关,而搜索Marketingleader将返回那些,但也包含仅包含leader在搜索小写时不显示的结果.

有没有人知道是什么原因造成的,以及如何打开屈折/模糊搜索小写单词?

任何帮助,将不胜感激。

4

1 回答 1

1

Use the alternative to freetext which is contains and the inflectional results are optional ..

CONTAINS (Transact-SQL)

.. oups just saw that you mention contains in your question, but does it behave the same way as the freetext in the provided examples ?

于 2010-01-12T11:31:32.250 回答