列メッセージ NVARCHAR(MAX) を持つ MyTable があります。
ID 1 のレコードには、メッセージ「0123456789333444 テスト」が含まれています
次のクエリを実行すると
DECLARE @Keyword NVARCHAR(100)
SET @Keyword = '0123456789000001*'
SELECT *
FROM MyTable
WHERE CONTAINS(Message, @Keyword)
レコード ID 1 が結果に表示されますが、私の意見では、0123456789333444 には 0123456789000001 が含まれていないため、表示されるべきではありません。
とにかくレコードが表示される理由を誰か説明できますか?
編集
select * from sys.dm_fts_parser('"0123456789333444 Test"',1033,0,0)
以下を返します。
group_id phrase_id occurrence special_term display_term expansion_type source_term
1 0 1 Exact Match 0123456789333444 0 0123456789333444 Test
1 0 1 Exact Match nn0123456789333444 0 0123456789333444 Test
1 0 2 Exact Match test 0 0123456789333444 Test