求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

SOUNDEX檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
Soundex

外文名: SOUNDEX

性 質: 參數

評 估: 兩個字符串發音的相似性

語 法: character_expression

SOUNDEX返回由四個字符組成的代碼 (SOUNDEX) 以評估兩個字符串在發音時的相似性。語法 SOUNDEX ( character_expression )

簡介

參數character_expression是字符數據的字母數字表達式。character_expression 可以是常數、變量或列。

返回類型char

注釋

SOUNDEX 將 alpha 字符串轉換成由四個字符組成的代碼,以查找相似的詞或名稱。代碼的第一個字符是 character_expression 的第一個字符,代碼的第二個字符到第四個字符是數字。將忽略 character_expression 中的元音,除非它們是字符串的第一個字母。可以嵌套字符串函數。

規則

a e h i o u w y -> 0

b f p v -> 1

c g j k q s x z -> 2

d t -> 3

l -> 4

m n -> 5

r -> 6

1、提取字符串的首字母作為soundex的第一個值。

2、按照上面的字母對應規則,將後面的字母逐個替換為數字。如果有連續的相等的數字,只保留一個,其餘的都刪除掉。並去除所有的0。

3、如果結果超過4位,取前四位;如果結果不足4位向後補0。

示例

按照上述規則,計算字符串 「Ahnddreg" 的soundex過程為:

1、取首字母 a

2、替換後面的字母 a0533602。按照規則去掉所有的0,結果變為 a53362。再去掉重複的數字,結果變為a5362。

3、現在結果總長為5位,我們只取前4位,所以結果為a536

SOUNDEX()函數和DIFFERENCE()函數簡介

SOUNDEX 函數功能

返回表示字符串聲音的數字。

語法

SOUNDEX ( string-expression )

參數

string-expression 字符串。

用法

字符串的 SOUNDEX 函數值基於第一個字母和隨後三個除 H、Y 和 W 之外的輔音。兩個重複的字母按一個字母計算。例如,

SOUNDEX( 'apples' )

基於字母 A、P、L 和 S。

SOUNDEX 函數忽略多字節字符。

儘管不很完美,但 SOUNDEX 對於那些聽起來相似和以相同字母開頭的單詞,通常返回相同的數字。

SOUNDEX 函數對英語單詞效果最好。對於其它語言,它的用處不大。

標準和兼容性

SQL/92 供應商擴展。

SQL/99 供應商擴展。

Sybase 與 Adaptive Server Enterprise 兼容,但 Adaptive Server Enterprise 返回 CHAR(4) 結果,而 Adaptive Server Anywhere 返回整數。

示例

下面的語句返回兩個數字,表示每個名稱的聲音。每個參數的 SOUNDEX 值都是 3827。

SELECT SOUNDEX( 'Smith' ), SOUNDEX( 'Smythe' )

DIFFERENCE 函數 [字符串]

功能

返回兩個字符串表達式之間 SOUNDEX 值的差。

語法

DIFFERENCE ( string-expression-1, string-expression-2 )

參數

string-expression-1 第一個 SOUNDEX 參數。

string-expression-2 第二個 SOUNDEX 參數。

標準和兼容性

SQL/92 供應商擴展。

SQL/99 供應商擴展。

Sybase 與 Adaptive Server Enterprise 兼容。[1]

參考來源