Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQL按字母顺序重新排列字符串中的字符_Sql_Oracle_Plsql_Toad - Fatal编程技术网

使用SQL按字母顺序重新排列字符串中的字符

使用SQL按字母顺序重新排列字符串中的字符,sql,oracle,plsql,toad,Sql,Oracle,Plsql,Toad,我希望采取一个字符串字段,并重新排列成字母顺序的字符。例如,如果它是一个名称字段,并且名称是MICHAEL SMITH,那么它将更改为AcehhiilmSt 主要目的是在类似名称的字段中查找重复项,在该字段中可能有人输入了一个打字错误,并输入了MICHEAL SMITH或MICHAEL SMTIH的名称。我想到的另一个选择是为每个字母(1-26)指定一个数字值,然后如果这些值的总和和名称字段的长度相同,则会将其视为重复。问题是我不知道如何对字符串字段中的数字求和 此外,我正在使用Oracle S

我希望采取一个字符串字段,并重新排列成字母顺序的字符。例如,如果它是一个名称字段,并且名称是MICHAEL SMITH,那么它将更改为AcehhiilmSt

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

此外,我正在使用Oracle SQL,因此函数将基于可用的函数

有什么想法或至少是开始的地方吗

编辑

我不是想问如何做到这一点的代码,我是想问更多的是否可行,如果可能,我的起点是什么(函数类型、技术等)

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

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
检查。它可以用来衡量两个字符串的相似性

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

询问代码的问题必须证明对正在解决的问题的最低理解。包括尝试的解决方案,以及为什么它们不工作。你会考虑使用存储的函数来重排吗?我不是要求代码,我要求一个起点。我对SQL的了解仅限于运行更基本的查询,因此我并不总是确定它能做什么和不能做什么。我想到了SOUNDEX函数,但Joe中提到的utl_匹配可能更好。询问代码的问题必须表明对所解决问题的最低理解。包括尝试的解决方案,以及为什么它们不工作。你会考虑使用存储的函数来重排吗?我不是要求代码,我要求一个起点。我对SQL的了解仅限于运行更基本的查询,因此我并不总是确定它能做什么和不能做什么。我想到了SOUNDEX函数,但Joe's中提到的utl_匹配可能会更好。谢谢Joe,这似乎是一种我不知道的更简单的方法。谢谢Joe,这似乎是一种我不知道的简单得多的方法。