0

我正在寻找一个字符串字段并将字符重新排列为字母顺序。例如,如果它是一个名称字段并且名称是 MICHAEL SMITH,它将更改为 ACEHHIILMMST。

主要目的是在名称之类的字段中查找重复项,其中有人可能打错字并输入名称为 MICHEAL SMITH 或 MICHAEL SMTIH。我想到的另一个选择是为每个字母(1-26)分配一个数字值,然后如果这些值的总和与名称字段的长度相同,则将其视为重复。问题是我不知道如何总结字符串字段中的数字。

此外,我正在使用 Oracle SQL,因此这些功能将基于可用的功能。

有什么想法或至少可以从哪里开始?

编辑

我不是要询问如何执行此操作的代码,而是要更多地询问是否可能,如果可能的话,我的起点是什么(功能类型,技术等)

4

1 回答 1

4

检查utl_match。它可以用来衡量两个字符串的相似度。

select utl_match.edit_distance_similarity('MICHAEL SMITH','MICHEAL SMITH') from dual
85

select utl_match.edit_distance_similarity('MICHAEL SMITH','MICHELLE SMITH') from dual
79

select utl_match.edit_distance_similarity('MICHAEL SMITH','FRANKIE JONES') from dual
8
于 2013-10-30T16:41:52.647 回答