SOUNDEX (Transact-SQL)
傳回四個字元的 (SOUNDEX) 代碼來評估兩個字串的相似度。
語法
SOUNDEX ( character_expression )
傳回類型
varchar
備註
SOUNDEX 會將英數字串轉換成四個字元的代碼,來尋找發音相似的單字或名稱。代碼中的第一個字元是 character_expression 的第一個字元,代碼的第 2 到 4 字元是數字。character_expression 中的母音除非是字串的第一個字母,否則,會忽略它們。字串函數可以是巢狀函數。
範例
下列範例會顯示 SOUNDEX 函數和相關的 DIFFERENCE 函數。在第一個範例中,傳回所有子音的標準 SOUNDEX 值。傳回 Smith 和 Smythe 的 SOUNDEX,會傳回相同的 SOUNDEX 結果,因為所有母音、y 字母、雙重字母和 h 字母都不包括在內。
-- Using SOUNDEX
SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe');
以下為結果集:
----- -----
S530 S530
(1 row(s) affected)
DIFFERENCE 函數會比較 SOUNDEX 模式結果的差異。下列範例會顯示母音不同的兩個字串。傳回的差異是 4,這是最低的可能差異。
-- Using DIFFERENCE
SELECT DIFFERENCE('Smithers', 'Smythers');
GO
以下為結果集:
-----------
4
(1 row(s) affected)
在下列範例中,字串的子音不同;因此,傳回的差異是 2,差異比較大。
SELECT DIFFERENCE('Anothers', 'Brothers');
GO
以下為結果集:
-----------
2
(1 row(s) affected)