SOUNDEX (Transact-SQL)

返回一个由四个字符组成的代码 (SOUNDEX),用于评估两个字符串的相似性。

主题链接图标Transact-SQL 语法约定

语法

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)