select SOUNDEX('ram')将返回“R500”
有没有办法输入'R500‘并返回'ram’?
像这样的东西
select reverse_of_SOUNDEX('R500')
RESULT
--------
ram发布于 2014-01-03 16:44:06
您遇到的问题与您尝试反转任何多对一映射函数时遇到的问题相同。
虽然ram可能是一个单词,给出了soundex代码r500,但也有许多其他单词(ran,rim,run,run,rain,rain等,这取决于您使用的soundex变体)。
那么,您希望在这种情况下显示哪个单词?
如果您要查找单词列表,一种可能是使用大量单词(来自某处的字典)及其soundex代码填充一个表。在插入单词后,可以很容易地使用以下命令设置代码:
update sxmap set sxcode = soundex(word)然后你可以简单地这样做:
select word from sxmap where sxcode = 'R500'或者:
select word from sxmap where sxcode = soundex('ram')发布于 2014-01-03 16:44:07
Soundex映射本质上是一个哈希码(即多对一映射)。
因此,它不是唯一可逆的。
有几个单词可以将soundex映射到R500,您无法在映射之前分辨出哪个是原始单词。
https://stackoverflow.com/questions/20899662
复制相似问题