3

私たちは、約 1,000 の重複するメーカー名と 1,000,000 の重複する部品番号を調整するために多くの作業を行っています. 出てきたのは、「Limited」と「Ltd」のようなものを「一致させる」方法です。対「株式会社」

目的は、アプリケーションがこれらの一致した項目を標準形式に調整することです。そう:

アクメ株式会社 アクメ株式会社 アクメ株式会社

すべて ACME Ltd に調整する必要があります。

これは、将来追加の重複が入力されるのを防ぐためにも使用されます。

SQL Server でこのパターン マッチングを実現する方法について何か提案はありますか? マップされた等価性などを持つアイテムを見つけるための既知のアルゴリズムはありますか?

ありがとう!

エリック。

4

2 に答える 2

3

ある列に必要なものをリストし、次の列にバリエーションをリストした表はどうですか?

Ltd   Limited 
Ltd   Ltd.
St    Street
St    Str.

次に、2番目の列で一致するものが見つかった場合は、最初の列に変更します。他の選択肢が見つかると、数回の反復が必要になる場合があります。

于 2011-01-19T23:59:00.127 に答える
2

SQL Server全文検索を使用すると、同義語を使用できます。

SQL Serverは、フルテキスト言語ごとに、言語固有の同義語をオプションで定義して検索クエリの範囲を拡張できるファイル(シソーラスファイル)も提供します。

あなたの場合、次のようなセクションを追加できます。

 <expansion>
         <sub>Limited</sub>
         <sub>Ltd</sub>
         <sub>Ltd.</sub>
 </expansion>

これは、シソーラスファイルを変更する方法の詳細を説明するリンクです。これはあなたがやろうとしていることのために働くかもしれません...

SQL Serverは、を使用していくつかの制限されたパターンマッチングも提供しますLIKE提供されているオプションを調べて、ニーズに十分かどうかを確認することをお勧めします。

LIKE不十分な場合は、正規表現を使用できるようにするCLRストアドプロシージャまたはUDFの作成をいつでも確認できます。これにより、はるかに複雑なパターンを一致させることができます...

于 2011-01-19T23:56:55.840 に答える