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、異なる結果セットが得られます。または、調査の結果、 forwordを検索すると、さまざまなケースのすべての一致が得られますwordが、 を検索するとWord、同じ PLUS 屈折結果が得られることがわかりました。

または、私が見つけた実際のケースの 1 つを使用するにmarketingleaderは、大文字と小文字に関係なく、その単語を含むすべての結果を検索すると返されますが、検索するとそれらが返されますが、小文字を検索すると表示されないMarketingleaderものだけを含む結果も返されます。 leader.

これを引き起こしている原因と、小文字の単語の屈折/あいまい検索をオンにする方法について、誰かがアイデアを持っていますか?

どんな助けでも大歓迎です。

4

1 に答える 1

1

freetextwhich isの代替を使用しcontains、屈折結果はオプションです ..

CONTAINS (Transact-SQL)

.. おっと、質問に含まれていると言及されているのを見ましたが、提供された例のフリーテキストと同じように動作しますか?

于 2010-01-12T11:31:32.250 に答える