SOUNDSLIKE( ) function

Returns a logical value indicating whether a string phonetically matches a comparison string.

Syntax

SOUNDSLIKE(name, sounds_like_name)

Parameters

Name Type Description
name character The first string in the comparison.
sounds_like_name character The second string in the comparison.

Output

Logical. Returns T (true) if the values being compared phonetically match, and F (false) otherwise.

Examples

Basic examples

Returns T, because "Fairdale" and "Faredale" both have a soundex code of F634:

SOUNDSLIKE("Fairdale","Faredale")

Returns F, because "Jonson" has a soundex code of J525, and "Jonston" has a soundex code of J523:

SOUNDSLIKE("Jonson","Jonston")

Returns a logical value (T or F) indicating whether the soundex code for each value in the Last_Name field matches the soundex code for the string "Smith":

SOUNDSLIKE(Last_Name,"Smith")

Advanced examples

Isolating values that sound like "Smith"

Create a filter that isolates all values in the Last_Name field that sound like "Smith":

SET FILTER TO SOUNDSLIKE(Last_Name,"Smith")

Remarks

When to use SOUNDSLIKE( )

Use the SOUNDSLIKE( ) function to find values that sound similar. Phonetic similarity is one way of locating possible duplicate values, or inconsistent spelling in manually entered data.

How it works

SOUNDSLIKE( ) converts the comparison strings to four-character American Soundex codes, which are based on the first letter, and the first three consonants after the first letter, in each string.

The function then compares each string's code and returns a logical value indicating whether they match.

For more information about soundex codes, see SOUNDEX( ) function.

Case sensitivity

The function is not case-sensitive, so "SMITH" is equivalent to "smith."

Limitations of the soundex process

Both the SOUNDSLIKE( ) and SOUNDEX( ) functions have certain limitations:

  • The soundex algorithm is designed to work with words pronounced in English, and has varying degrees of effectiveness when used with other languages.
  • Although the soundex process performs a phonetic match, matching words must all begin with the same letter, which means that some words that sound the same are not matched.

    For example, a word that begins with "F", and a word that begins with a "Ph", could sound the same but they will never be matched.

Related functions

  • SOUNDEX( ) an alternate method for phonetically comparing strings.
  • ISFUZZYDUP( ) and LEVDIST compare strings based on an orthographic comparison (spelling) rather than on a phonetic comparison (sound).
  • DICECOEFFICIENT( ) de-emphasizes or completely ignores the relative position of characters or character blocks when comparing strings.
ACL Scripting Guide 14.1