SQL Server Difference()函数

在本教程中,将学习如何使用SQL Server DIFFERENCE()函数来比较两个字符串的两个SOUNDEX()值。

SQL Server DIFFERENCE()函数简介

给定一个字符串,SOUNDEX()函数会根据字符串发出时的发音将其转换为四字符代码。

例如,TwoToo单词的发音相同,因此它们应具有相同的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()值之间的差异,范围为040表示SOUNDEX()值之间的相似性很弱或没有相似性; 4表示强烈相似或相同的SOUNDEX()值。

SQL Server DIFFERENCE()函数

下面来看一些使用DIFFERENCE()函数的例子,看看它是如何工作的。

1. DIFFERENCE()函数使用具有类似SOUNDEX()值

此示例使用DIFFERENCE()函数比较两个字符串TwoTooSOUNDEX()值:

SELECT 
    SOUNDEX('Two') soundex_two,
    SOUNDEX('Too') soundex_too,
    DIFFERENCE('Two', 'Too') similarity;

执行上面查询语句,得到以下结果:

soundex_two soundex_too similarity
----------- ----------- -----------
T000        T000        4

(1 row affected)

以下是另一个比较JohnJohnySOUNDEX()值差别的例子:

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函数