在本教學中,將學習如何使用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函數