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 的数据库表,其中包含以下记录:
Data | Words |
---|---|
Data1 | Here |
Data2 | Heir |
Data3 | Smith |
Data4 | Smythe |
Data5 | To |
Data6 | Too |
Data7 | Two |
获取 Words 列的所有记录的 soundex 字符串,可以使用以下查询:
SELECT *, SOUNDEX(Words) AS SOUNDEX_Value FROM Sample;
这将产生类似于以下内容的结果:
Data | Words | SOUNDEX_Value |
---|---|---|
Data1 | Here | H600 |
Data2 | Heir | H600 |
Data3 | Smith | S530 |
Data4 | Smythe | S530 |
Data5 | To | T000 |
Data6 | Too | T000 |
Data7 | Two | T000 |