SOUNDEX (Transact-SQL)

傳回四個字元的 (SOUNDEX) 代碼來評估兩個字串的相似度。

主題連結圖示Transact-SQL 語法慣例

語法

SOUNDEX ( character_expression )

引數

character_expression

這是字元資料的英數運算式character_expression 可以是常數、變數或資料行。

傳回類型

varchar

備註

SOUNDEX 會將英數字串轉換成四個字元的代碼,來尋找發音相似的單字或名稱。代碼中的第一個字元是 character_expression 的第一個字元,代碼的第 2 到 4 字元是數字。character_expression 中的母音除非是字串的第一個字母,否則,會忽略它們。字串函數可以是巢狀函數。

範例

下列範例會顯示 SOUNDEX 函數和相關的 DIFFERENCE 函數。在第一個範例中,傳回所有子音的標準 SOUNDEX 值。傳回 SmithSmytheSOUNDEX,會傳回相同的 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)

請參閱

參考

字串函數 (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助