Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103066018
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-03-31 22:41:27

来源:赛迪网    作者:10361

在Oracle数据库中,SOUNDEX函数返回字符串参数的语音表示形式,相对于比较一些读音相同,但是拼写不同的单词是非常有用的。

SOUNDEX函数的语法:

SOUNDEX(string)

计算语音的算法:

1.保留字符串首字母,但删除a、e、h、i、o、w、y

2.将下表中的数字赋给相对应的字母

(1) 1:b、f、p、v

(2) 2:c、g、k、q、s、x、z

(3) 3:d、t

(4) 4:l

(5) 5:m、n

(6) 6:r

3. 如果字符串中存在拥有相同数字的2个以上(包含2个)的字母在一起(例如b和f),或者只有h或w,则删除其他的,只保留1个

4.只返回前4个字节,不够用0填充

示例:

soundex('two'),soundex('too'),soundex('to'),他们的结果都是T000

soundex('cap'),soundex('cup'),他们的结果都是C100

soundex('house'),soundex('horse'),他们的结果都分别是H200,H620
阅读(655) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~