2

SQL Server 2008を使用していて、ユーザーがorなどABCDEFGHの検索文字列を入力した場合のレコード(つまり、に類似し たレコード)を返すクエリを作成する必要があります。ABCD-EFGHABDEFGH

どうすればそれを達成できますか?

4

1 に答える 1

2

2つの文字列の差を計算するには、ある種のeditDistanceアルゴリズム、つまりレーベンシュタイン距離、ジャロウィンクラー距離を使用する必要があります。

udfとして実装されたレーベンシュタイン距離については、このスレッドを参照してください

T-SQLのレーベンシュタイン距離

このようにUDFを使用します(単なる例)

SELECT * FROM dbo.myTable
WHERE   dbo.editDistance(mycol,@SearchString)<2
于 2012-09-13T22:57:41.587 に答える