#SOUNDEX

soundex
SOUNDEX ( expr )

SOUNDEX函数返回其参数expr通用表达式的soundex值,expr须为字符型或可以转换为字符型的其他类型。函数将返回一个VARCHAR/NVARCHAR类型的字符串。 soundex值为英语发音下单词的特殊缩略。

本函数的转换规则如下:

  1. 找到字符串的首个汉字、英文字母或特殊符号作为起始转换位置,并将原字符作为返回值的第一个字符。

  2. 按照下表转换规则将字符串中的英文字母进行转换,作为返回值的后续字符,除英文字母外其他字符将被忽略。

    字母 编码
    A, E, I, O, U, H, 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
  3. 对转换后的字符串中连续的数值部分进行去重保留一位,并删除所有的0。

  4. 返回时只返回前4个字符,如果字符个数不到4个,则在末尾补0。

本函数使用约束如下:

  • 本函数不支持向量化计算。
  • 当expr为NCHAR、NVARCHAR和NCLOB时,返回值为NVARCHAR类型;当expr为其他类型时,返回值为VARCHAR类型。
  • expr不能为超过65534字节的BFILE、LOB类型数据。
  • 当expr隐式转换成字符型后的值中不包含英文字符时,函数返回NULL。
  • 当expr为NULL时,函数返回NULL。

示例(HEAP表)

SELECT SOUNDEX(NULL) FROM dual;

SOUNDEX(NULL)
------------- 

SELECT SOUNDEX('SSHS') FROM dual;

SOUNDEX('SSHS')
--------------- 
       S200
SELECT SOUNDEX('SMYTHE') FROM dual;

SOUNDEX('SMYTHE')
----------------- 
       S530
SELECT SOUNDEX('SMITH') FROM dual;

SOUNDEX('SMITH')
---------------- 
       S530  
pdf-btn 下载文档 copy-btn 复制链接
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流