#SOUNDEX
SOUNDEX函数返回其参数expr通用表达式的soundex值,expr须为字符型或可以转换为字符型的其他类型。函数将返回一个VARCHAR/NVARCHAR类型的字符串。 soundex值为英语发音下单词的特殊缩略。
本函数的转换规则如下:
找到字符串的首个汉字、英文字母或特殊符号作为起始转换位置,并将原字符作为返回值的第一个字符。
按照下表转换规则将字符串中的英文字母进行转换,作为返回值的后续字符,除英文字母外其他字符将被忽略。
字母 编码 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 对转换后的字符串中连续的数值部分进行去重保留一位,并删除所有的0。
返回时只返回前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

