首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql中soundex的反转

mysql中soundex的反转
EN

Stack Overflow用户
提问于 2014-01-03 16:39:46
回答 2查看 889关注 0票数 1
代码语言:javascript
复制
select SOUNDEX('ram')

将返回“R500”

有没有办法输入'R500‘并返回'ram’?

像这样的东西

代码语言:javascript
复制
select reverse_of_SOUNDEX('R500')

RESULT
--------
ram
EN

回答 2

Stack Overflow用户

发布于 2014-01-03 16:44:06

您遇到的问题与您尝试反转任何多对一映射函数时遇到的问题相同。

虽然ram可能是一个单词,给出了soundex代码r500,但也有许多其他单词(ran,rim,run,run,rain,rain等,这取决于您使用的soundex变体)。

那么,您希望在这种情况下显示哪个单词?

如果您要查找单词列表,一种可能是使用大量单词(来自某处的字典)及其soundex代码填充一个表。在插入单词后,可以很容易地使用以下命令设置代码:

代码语言:javascript
复制
update sxmap set sxcode = soundex(word)

然后你可以简单地这样做:

代码语言:javascript
复制
select word from sxmap where sxcode = 'R500'

或者:

代码语言:javascript
复制
select word from sxmap where sxcode = soundex('ram')
票数 3
EN

Stack Overflow用户

发布于 2014-01-03 16:44:07

Soundex映射本质上是一个哈希码(即多对一映射)。

因此,它不是唯一可逆的。

有几个单词可以将soundex映射到R500,您无法在映射之前分辨出哪个是原始单词。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20899662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档