SqlServer中比较两个词相似度的函数
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)