为什么 SQL 服务器的 SOUNDEX 给我不一致的结果?

Why is SQL Server's SOUNDEX giving me inconsistent results?

有人可以提供一些见解,说明为什么 SOUNDEX 在某些字符为大写与小写时给出不同的结果吗?根据我在网上阅读的内容,SOUNDEX 忽略了大小写,但我得到了不同的结果,无法理解会导致差异的原因。我不能用像 GUTTHRE.

这样的词来模仿这个例子
Query                                  Result
select SOUNDEX('JESCHKE')              J200      <-- 200
select SOUNDEX(LOWER('JESCHKE'))       J220
select SOUNDEX('Jeschke')              J220
select SOUNDEX('jeschke')              J220
select SOUNDEX('JESChKE')              J220
select SOUNDEX('JESCHke')              J200      <-- for some reason capitalizing 'H' changes the result to 200
select SOUNDEX('jescHke')              J200      <-- 200

知道值不匹配的原因吗?

所以 wiki 状态:

"two letters with the same number separated by 'h' or 'w' are coded as a single number"

所以我认为当您使用小写字母“h”时这适用,因此 S 被编码为 2,所有其他字符将编码为 2 并被忽略,如下所示:

If two or more letters with the same number are adjacent in the original name (before step 1), only retain the first letter

我怀疑是因为 H 是大写的,所以它重置了这条规则,所以后面的 k 被编码为另一个 2。