求真百科欢迎当事人提供第一手真实资料,洗刷冤屈,终结网路霸凌。

SOUNDEX查看源代码讨论查看历史

事实揭露 揭密真相
跳转至: 导航搜索
Soundex

外文名: SOUNDEX

性 质: 参数

评 估: 两个字符串发音的相似性

语 法: character_expression

SOUNDEX返回由四个字符组成的代码 (SOUNDEX) 以评估两个字符串在发音时的相似性。语法 SOUNDEX ( character_expression )

简介

参数character_expression是字符数据的字母数字表达式。character_expression 可以是常数、变量或列。

返回类型char

注释

SOUNDEX 将 alpha 字符串转换成由四个字符组成的代码,以查找相似的词或名称。代码的第一个字符是 character_expression 的第一个字符,代码的第二个字符到第四个字符是数字。将忽略 character_expression 中的元音,除非它们是字符串的第一个字母。可以嵌套字符串函数。

规则

a e h i o u w y -> 0

b f p v -> 1

c g j k q s x z -> 2

d t -> 3

l -> 4

m n -> 5

r -> 6

1、提取字符串的首字母作为soundex的第一个值。

2、按照上面的字母对应规则,将后面的字母逐个替换为数字。如果有连续的相等的数字,只保留一个,其余的都删除掉。并去除所有的0。

3、如果结果超过4位,取前四位;如果结果不足4位向后补0。

示例

按照上述规则,计算字符串 “Ahnddreg" 的soundex过程为:

1、取首字母 a

2、替换后面的字母 a0533602。按照规则去掉所有的0,结果变为 a53362。再去掉重复的数字,结果变为a5362。

3、现在结果总长为5位,我们只取前4位,所以结果为a536

SOUNDEX()函数和DIFFERENCE()函数简介

SOUNDEX 函数功能

返回表示字符串声音的数字。

语法

SOUNDEX ( string-expression )

参数

string-expression 字符串。

用法

字符串的 SOUNDEX 函数值基于第一个字母和随后三个除 H、Y 和 W 之外的辅音。两个重复的字母按一个字母计算。例如,

SOUNDEX( 'apples' )

基于字母 A、P、L 和 S。

SOUNDEX 函数忽略多字节字符。

尽管不很完美,但 SOUNDEX 对于那些听起来相似和以相同字母开头的单词,通常返回相同的数字。

SOUNDEX 函数对英语单词效果最好。对于其它语言,它的用处不大。

标准和兼容性

SQL/92 供应商扩展。

SQL/99 供应商扩展。

Sybase 与 Adaptive Server Enterprise 兼容,但 Adaptive Server Enterprise 返回 CHAR(4) 结果,而 Adaptive Server Anywhere 返回整数。

示例

下面的语句返回两个数字,表示每个名称的声音。每个参数的 SOUNDEX 值都是 3827。

SELECT SOUNDEX( 'Smith' ), SOUNDEX( 'Smythe' )

DIFFERENCE 函数 [字符串]

功能

返回两个字符串表达式之间 SOUNDEX 值的差。

语法

DIFFERENCE ( string-expression-1, string-expression-2 )

参数

string-expression-1 第一个 SOUNDEX 参数。

string-expression-2 第二个 SOUNDEX 参数。

标准和兼容性

SQL/92 供应商扩展。

SQL/99 供应商扩展。

Sybase 与 Adaptive Server Enterprise 兼容。[1]

参考来源