SQLite soundex字符串长度

时间:2013-06-19 08:42:25

标签: sqlite soundex

sqlite中的soundex函数是否对字符串长度有限制? 正如我发现

的结果
SELECT soundex('Schneider Thomson'), soundex('Schneider Rene'), soundex('Schneider')

是否与S536相同,但结果为:

SELECT soundex('Schn Thomson'), soundex('Schn Rene'), soundex('Schn');

每个字符串都不同,值为

soundex('Schn Thomson') = S535 
soundex('Schn Rene')    = S565
soundex('Schn')         = S500

任何人都可以解释一下原因吗?

2 个答案:

答案 0 :(得分:1)

Soundex algorithm旨在处理单个单词。 (为了简化,它编码第一个字母和前三个辅音。)

答案 1 :(得分:1)

为了给CL的答案提供更多的说明,编码使用第一个字母,然后编码以下辅音(H,W,Y除外),直到生成3个数字。密西西比州这个词很好地说明了这一点。密西西比的SOUNDEX为M210。

  1. M是第一个辅音后面跟着的第一个字母S.然后S重复并被SOUNDEX编码忽略。
  2. 下一个辅音是P,后面没有另一个有效的字母(只是重复的p和i)。
  3. 因此,零是最后的数字。
  4. 希望这提供了一些关于SOUNDEX如何编码单词的更多说明。有关更多信息,Genealogy.com中的这篇文章解释了在研究名称时如何使用SOUNDEX。这可以解释为什么supercell和supercalifragististxpialidocious具有相同的SOUNDEX,S162。