在本教程中,将学习如何使用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()
值。