SQL Server 函数

SQL Server (Transact-SQL) SOUNDEX() 函数从给定字符串返回 soundex 字符串。听起来几乎相同的两个字符串应该具有相同的 soundex 字符串。标准 soundex 字符串的长度为四个字符。

此函数将字母数字字符串转换为四字符代码,该代码基于字符串用英语发音时的发音。代码的第一个字符是str的第一个字符,转换为大写。代码的第二个到第四个字符是代表 str 中字母的数字。字母 A、E、I、O、U、H、W 和 Y 将被忽略,除非它们是 str 的第一个字母。如果需要生成四字符代码,则会在末尾添加零。

可以比较不同字符串的 SOUNDEX 代码,以了解这些字符串在发音时听起来有多相似。 DIFFERENCE() 函数对两个字符串执行 SOUNDEX,并返回一个整数,表示 SOUNDEX 代码的相似程度用于这些字符串。

语法

SOUNDEX(str) 

参数

str必填。 指定要检索其 soundex 字符串的字符串。

返回值

返回给定的 soundex 字符串

示例 1:

下面的示例展示了 SOUNDEX() 函数的用法。

SELECT SOUNDEX('Hello');
Result: 'H400'

SELECT SOUNDEX('Principal');
Result: 'P652'

SELECT SOUNDEX('Principle');
Result: 'P652' 

示例 2:

考虑一个名为 Sample 的数据库表,其中包含以下记录:

DataWords
Data1Here
Data2Heir
Data3Smith
Data4Smythe
Data5To
Data6Too
Data7Two

获取 Words 列的所有记录的 soundex 字符串,可以使用以下查询:

SELECT *, SOUNDEX(Words) AS SOUNDEX_Value FROM Sample; 

这将产生类似于以下内容的结果:

DataWordsSOUNDEX_Value
Data1HereH600
Data2HeirH600
Data3SmithS530
Data4SmytheS530
Data5ToT000
Data6TooT000
Data7TwoT000