MSSQL sql server 字符串函数 SOUNDEX 功能简介


一、sql SOUNDEX 功能简介

SOUNDEX 函数主要功能为:

是一种计算语音的算法
采用soundex计算语言,如果遇见非字母的计算,则统一返回0
soundex计算规则
1)、 首字母为A~Z的字母,则soundex返回首字母,否则soundex计算结果为’0000′
2)、 第一个字符之后的字母为
忽略计算的字母为: a d e k q s u w x y z
返回1:b l r
返回2:c f g m o t v
返回3: p
返回4:h
返回5:i j
返回6: n
3)、 遇到相同的返回值,则忽略 直道返回四个字符为止
4)、 遇到数字返回0 终止soundex计算



参数:
字符串
返回值:
soundex计算后的四位编码



二、SOUNDEX 应用简介

例:

    declare @a varchar(10)
    set @a='maomao365.com'
    select soundex(@a) 
    /*
         1 m字符开始所以返回为M***
         2 预见a字符忽略
	 3 预见o字符返回2  ---M2**
	 4 预见m字符返回2 同上一个一致所以忽略  ---M2**
	 5 预见a字符忽略  ---M2**
	 6 预见o字符返回2  ---M22*
         7 预见数字点 ---返回0  终止计算,返回当前计算值  ---返回M220
	 */
	 go
   declare @a varchar(10)
   set @a ='test'
   select soundex(@a)
   go
    /*
    1 返回 --T***
    2 预见e忽略
    3 预见s忽略
    4 预见t 返回2 --T200 
    */
    declare @a varchar(100)
set @a ='jC08C00043444'
select SOUNDEX(@a)  返回J200
go
    declare @a varchar(100)
set @a ='j08C00043444'
select SOUNDEX(@a)  返回J000
go