- 类别:
SOUNDEX_P123¶
返回包含输入字符串的语音表示形式的字符串,并在第一个和第二个字母使用相同数字时保留第二个字母的 Soundex 代码数字。
此函数与 SOUNDEX 函数类似,但输入字符串的第一个和第二个字母使用相同的 Soundex 代码数字的情况除外。在这些情况中,SOUNDEX 函数将忽略第二个字母的数字,而 SOUNDEX_P123 函数将保留第二个字母的数字。一些数据库系统(例如 Teradata)使用 Soundex 算法的这种变体。
例如,对于输入字符串 Pfister
,前两个字母(P
和 f
)相邻并共享相同的 Soundex 代码数字 (1
)。
SOUNDEX('Pfister')
忽略第二个字母 (1
) 的 Soundex 代码数字并返回P236
。SOUNDEX_P123('Pfister')
保留第二个字母的 Soundex 代码数字并返回P123
。
- 另请参阅:
语法¶
SOUNDEX_P123( <varchar_expr> )
实参¶
varchar_expr
返回发音表示形式的字符串。字符串应使用拉丁文或 Unicode 字符集。
返回¶
返回的值为包含输入字符串的发音表示形式的 VARCHAR。换句话说,返回值是一个字符串(不是发音),表示输入字符串的发音(而不是拼写)。
如前所述,如果第一个和第二个字母使用相同的 Soundex 代码,则该函数将保留第二个字母的 Soundex 代码数字。
使用说明¶
示例¶
下面的示例展示了 SOUNDEX 函数和 SOUNDEX_P123 函数的返回值的差异:
SELECT SOUNDEX('Pfister'), SOUNDEX_P123('Pfister'), SOUNDEX('LLoyd'), SOUNDEX_P123('Lloyd'); +--------------------+-------------------------+------------------+-----------------------+ | SOUNDEX('Pfister') | SOUNDEX_P123('Pfister') | SOUNDEX('Lloyd') | SOUNDEX_P123('Lloyd') | |--------------------+-------------------------+------------------+-----------------------| | P236 | P123 | L300 | L430 | +--------------------+-------------------------+------------------+-----------------------+