これが私が抱えている問題です。データベース内のテーブルから類似した行を返したいです。次のテキストを含む 2 行を考えてみましょう。
'Cisco phones cannot dial out'
'Phones are not working for outgoing calls'
これらは2つの異なる行です...私はこのようなことをしようとしました:
DECLARE @TheTest varchar(1000)
DECLARE @TheResult varchar(1000)
SET @TheTest = ('Cisco phones cannot dial out')
SET @TheResult = ('Phones are not working for outgoing calls')
CREATE TABLE #Test
(
MyCol varchar(1000)
)
INSERT INTO #Test(MyCol)
SELECT @TheResult
SELECT * FROM #Test WHERE LOWER(MyCol) LIKE '%' + LOWER(@TheTest) + '%'
DROP TABLE #Test
しかし、結果は 0 行が返されました。文字列 TheTest が文字列 @TheResult に十分に近くないため、よくわかります...しかし、phones という単語が両方のテキストに表示されるため、実際にこの行を返すソリューションが必要です。
このようなもののために、単語を分離し、一般的な単語を取り除くために、もっと精巧なものを構築する必要がありますか? 特定の Web サイトで見られる機能を模倣したい: