SOUNDSLIKE( ) 関数

文字列が比較文字列と発音学的に一致しているかどうかを示す論理値を返します。

構文

SOUNDSLIKE(名前, 発音の似ている名前)

パラメーター

名前 種類 説明
名前 文字 比較の最初の文字列。
発音の似ている名前 文字 比較の 2 番目の文字列。

出力

論理。比較する値同士の発音が一致している場合は T(true)、そうでない場合は F(false)が返されます。

基本的な例

"Fairdale" と "Faredale" はどちらも soundex コードが F634 のため、T が返されます。

SOUNDSLIKE("Fairdale","Faredale")

"Jonson" の soundex コードは J525、"Jonston" の soundex コードは J523 のため、F が返されます。

SOUNDSLIKE("Jonson","Jonston")

Last_name フィールドの各値の soundex コードが文字列 "Smith" の soundex コードと一致するかどうかを示す論理値(T または F)が返されます。

SOUNDSLIKE(Last_Name,"Smith")

高度な例

"Smith" と発音が似ている値を抽出する

Last_name フィールドの、"Smith" と発音が似ているすべての値を抽出するフィルターを作成するには、次のように指定します。

SET FILTER TO SOUNDSLIKE(Last_Name,"Smith")

備考

SOUNDSLIKE( ) の使用に適する場面

SOUNDSLIKE( ) 関数は発音の似た値を検索する場合に使用できます。発音の類似は、重複している可能性がある値や、手作業で入力されたデータで不統一な綴りを見つける 1 つの方法です。

機能の仕組み

SOUNDSLIKE( ) 関数はまず、比較対象となる文字列を 4 文字の American Soundex コードに変換します。このコードは、各文字列の最初の文字と、その後に続く最初の 3 つの子音に基づきます。

次に、各文字列のコードを比較し、それらが一致するかどうかを示す論理値を返します。

soundex コードの詳細については、SOUNDEX( ) 関数を参照してください。

大文字と小文字の区別

この関数では大文字と小文字が区別されないため、"SMITH" は "smith" と同じであると判断されます。

Soundex 処理にある制限

SOUNDSLIKE( ) 関数と SOUNDEX( ) 関数のどちらにも、ある制限があります。

  • soundex アルゴリズムは、英語で発音された言葉を処理するように設計されており、他の言語で使用した場合には、有効性の度合いが違ってきます。
  • soundex 処理は発音の照合を実行しますが、一致する単語は同じ文字で始まっていなければなりません。これはつまり、発音が同じであるいくつかの単語は一致しないということです。

    たとえば、"F" で始まる単語と "Ph" で始まる単語は発音が同じですが、これらは決して一致しません。

関連する関数

  • SOUNDEX( ) 文字列の発音を比較するもう 1 つの方法。
  • ISFUZZYDUP( ) および LEVDIST は、発音記号の比較(発音)ではなく、正字法の比較(綴り)に基づいて文字列を比較します。
  • DICECOEFFICIENT( ) は、文字列を比較するときに、文字または文字ブロックの相対位置を重視しないか、または完全に無視します。
ACL のスクリプト作成ガイド 14.1