SOUNDEX() 取字串的發音索引 (中文不適用)

SOUNDEX(str)
  • str傳入的字串

取字串的發音索引sound index。兩個發音相同或相近的字串會有相同的soundex結果,一個標準的soundex字串的長度為4個字元,然而MySQL的SOUNDEX()函數會回傳任意長度的字串。
可以使用SUBSTRING(SOUNDEX(str),0,4)來取得標準的soundex結果,在str中所有的非英文字母字元 會被忽略。所有不在A-Z範圍之內的國際字母符號被視為母音字元。
重要:使用SOUNDEX()函數時,必須了解有下面的限制:
  • 目前這個函數只適用在英語字串上,使用其他語言的字串可能得到不可預期的結果。
  • 這個函數不保證一個單字的回傳值與在使用多字節(包含UTF-8)的回傳值相同。
  • 我們可能在未來釋出的版本解決這些限制。

mysql> SELECT SOUNDEX('Hello');
-> 'H400'
mysql> SELECT SOUNDEX('Quadratically');
-> 'Q36324'
備註:
這個函數執行原始的Soundex演算法,而非目前最流行的加強版本(由D. Knuth所提出)。其區別在於原始版本首先會刪去母音,其次刪去重複,而加強版則首先刪去重複,而後刪去母音。

沒有留言: