SqlServer中比较两个词相似度的函数

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

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

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

下面是结果集:

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

(1 row(s) affected)

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

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

下面是结果集:

 

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

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

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

下面是结果集:

 

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

(1 row(s) affected)
posted @ 2009-10-25 11:15  彷徨......  阅读(1220)  评论(0编辑  收藏  举报