SOUNDEX (Transact-SQL)
返回一个由四个字符组成的代码 (SOUNDEX),用于评估两个字符串的相似性。
语法
SOUNDEX ( character_expression )
参数
character_expression
字符数据的字母数字表达式。character_expression 可以是常量、变量或列。
返回类型
varchar
备注
SOUNDEX 将字母数字字符串转换成由四个字符组成的代码,用于查找发音相似的词或名称。代码的第一个字符是 character_expression 的第一个字符,代码的第二个字符到第四个字符是数字。除非元音字母是字符串的第一个字母,否则 character_expression 中的元音字母将被忽略。可以嵌套字符串函数。
示例
以下示例显示了 SOUNDEX 函数及相关的 DIFFERENCE 函数。在第一个示例中,返回所有辅音字母的标准 SOUNDEX
值。Smith
和 Smythe
返回的 SOUNDEX
结果相同,因为不包括所有元音字母、字母 y
、连写字母和字母 h
。
-- Using SOUNDEX
SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe');
下面是结果集:
----- -----
S530 S530
(1 row(s) affected)
DIFFERENCE
函数用于比较 SOUNDEX
模式结果的差异。以下示例显示两个仅元音字母不同的字符串。返回的差异为 4
(可能的最小差异)。
-- Using DIFFERENCE
SELECT DIFFERENCE('Smithers', 'Smythers');
GO
下面是结果集:
-----------
4
(1 row(s) affected)
在以下示例中,字符串的辅音字母不同;所以,返回的差异为 2
,表示差异更大。
SELECT DIFFERENCE('Anothers', 'Brothers');
GO
下面是结果集:
-----------
2
(1 row(s) affected)