![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi, we are using this construct replace(replace(replace(replace(replace(replace(re place(replace(replace(replace( * * * * replace(replace(replace( * * * * * lower(ANY_NAME), * * * * ' ',''),',',''),'ä','a'),'ü','u'),'ö','o'),'ß','s'), 'oe','o' ),'ue','u' ),'ae','a'), * * * * 'y','i'),'ll','l'),'nn','n'),'ss','s') for comparing a given person-name with our database-person-names is there a better solution or are the multiple replaces fast enough. In my programms I iterate char by char and substitute using fast case-constructs for substitution. But I don't know how fast a char-by-char-solution in a PL/SQL-function would be. -- Norbert Oracle9i Enterprise Edition Release 9.2.0.8.0 64Bit |
#3
| |||
| |||
|
|
Hi, we are using this construct replace(replace(replace(replace(replace(replace(re place(replace(replace(rep*lace( * * * * replace(replace(replace( * * * * * lower(ANY_NAME), * * * * ' ',''),',',''),'ä','a'),'ü','u'),'ö','o'),'ß','s'), 'oe','o' ),'ue','u' ),'ae','a'), * * * * 'y','i'),'ll','l'),'nn','n'),'ss','s') for comparing a given person-name with our database-person-names is there a better solution or are the multiple replaces fast enough. In my programms I iterate char by char and substitute using fast case-constructs for substitution. But I don't know how fast a char-by-char-solution in a PL/SQL-function would be. -- Norbert Oracle9i Enterprise Edition Release 9.2.0.8.0 64Bit |
#4
| |||
| |||
|
#5
| |||
| |||
|
|
UTL_MATCH |
#6
| |||
| |||
|
|
Am Mon, 9 Mar 2009 07:52:48 -0700 (PDT) schrieb fransh (AT) hotmail (DOT) com: UTL_MATCH Thanks for advising to this, the "Levenshtein Distance" is IMHO the best solution for similarity, I did'nt know that it exists in Oracle. And in http://www.oracle.com/technology/boo...l%20ch%201.pdf I see it's the well known algorithm they iterate in PL/SQL. So I could give it a try to compare the speed of replace(replace(.. by a PL/SQL-cylce. btw. TRANSLATE() isn't a solution because I want to change German Umlaut Ä -- AE (1 char into 2 chars) |
#7
| |||
| |||
|
|
Norbert Winkler wrote: Norbert, I see in your sig: "Oracle9i Enterprise Edition Release 9.2.0.8.0 64Bit" isn't it about time to upgrade. Now that Oracle is no longer back porting security patches to this version, it should be considered for your critical systems. |
#8
| |||
| |||
|
|
It's right - I'd prefer a version with implemented regular expression or the Levensthein-algorith. But I'm only a user. And the others like "never touch a running system" .... |
|
Norbert |
![]() |
| Thread Tools | |
| Display Modes | |
| |