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