在本教程中,将学习如何使用SQL Server DIFFERENCE()函数来比较两个字符串的两个SOUNDEX()值。
SQL Server DIFFERENCE()函数简介
给定一个字符串,SOUNDEX()函数会根据字符串发出时的发音将其转换为四字符代码。
例如,Two和Too单词的发音相同,因此它们应具有相同的SOUNDEX()值:
SELECT
SOUNDEX('Too') Too,
SOUNDEX('Two') Two;
执行上面查询语句,得到以下结果:
Too Two
----- -----
T000 T000
(1 row affected)
DIFFERENCE()函数返回一个整数值,用于衡量两个字符串的SOUNDEX()值之间的差异。
以下是DIFFERENCE()函数的语法:
DIFFERENCE(input_string1, input_string2)
DIFFERENCE()的结果表示两个SOUNDEX()值之间的差异,范围为0到4。0表示SOUNDEX()值之间的相似性很弱或没有相似性; 4表示强烈相似或相同的SOUNDEX()值。
SQL Server DIFFERENCE()函数
下面来看一些使用DIFFERENCE()函数的例子,看看它是如何工作的。
1. DIFFERENCE()函数使用具有类似SOUNDEX()值
此示例使用DIFFERENCE()函数比较两个字符串Two和Too的SOUNDEX()值:
SELECT
SOUNDEX('Two') soundex_two,
SOUNDEX('Too') soundex_too,
DIFFERENCE('Two', 'Too') similarity;
执行上面查询语句,得到以下结果:
soundex_two soundex_too similarity
----------- ----------- -----------
T000 T000 4
(1 row affected)
以下是另一个比较John和Johny的SOUNDEX()值差别的例子:
SELECT
SOUNDEX('Johny') soundex_johny,
SOUNDEX('John') soundex_john,
DIFFERENCE('Johny', 'John') similarity;
执行上面查询语句,得到以下结果:
soundex_johny soundex_john similarity
------------- ------------ -----------
J500 J500 4
(1 row affected)
2. 使用DIFFERENCE()函数对不同的SOUNDEX()值
以下示例说明了在比较两个发音较弱或不相似的字符串时DIFFERENCE()的工作原理:
SELECT
SOUNDEX('Coffee') soundex_coffee,
SOUNDEX('Laptop') soundex_laptop,
DIFFERENCE('Coffee', 'Laptop') similarity;
执行上面查询语句,得到以下结果:
soundex_coffee soundex_laptop similarity
-------------- -------------- -----------
C100 L131 1
(1 row affected)
在本教程中,学习了如何使用SQL Server DIFFERENCE()函数来比较两个字符串的SOUNDEX()值。
上一篇:
SQL Server字符串函数
下一篇:
SQL Server Window函数
