比较 SOUNDEX 和 DIFFERENCE

SOUNDEX 函数将字符串转换为四位数字代码,以在比较中使用。比较中忽略元音。非字母字符用于结束比较。此函数总会返回值。

下面的示例显示了 SOUNDEX 函数对于相似的字符串 smith 和 smythe 的结果。当两个字符串相似时,它们的 SOUNDEX 代码相同。

SELECT SOUNDEX ('smith'), SOUNDEX ('smythe');
GO

下面是结果集:

-----          -----
S530           S530

(1 row(s) affected)

DIFFERENCE 函数比较两个字符串的 SOUNDEX 值,并评估它们之间的相似性,最后返回 0 到 4 之间的一个值,其中 4 表示匹配性最高。下面的示例中的第一个 SELECT 返回的 DIFFERENCE 为 4,因为 smithers 和 smothers 只有一个字符不同。

SELECT DIFFERENCE('smithers', 'smothers');
GO

下面是结果集:

------------
           4
(1 row(s) affected)

下面的示例返回的 DIFFERENCE 为 3。这表示尽管两个字符串有几个不同的字符,但它们有相似的发音。

SELECT DIFFERENCE('Jeff', 'Geoffe');
GO

下面是结果集:

-----------
3

(1 row(s) affected)