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
.
これを引き起こしている原因と、小文字の単語の屈折/あいまい検索をオンにする方法について、誰かがアイデアを持っていますか?
どんな助けでも大歓迎です。