Tracy,

   IMHO the simplest and most efficient solution is :
1) to define a name_cleanup() function which does something like
     replace(translate(replace(upper(arg), 'MC', 'MAC'), '- ', '##'),
'#', '')
    (this is of course a very simple example)

2) to maintain by trigger an indexed CLEANED_UP_NAME which is just
name_cleanup(last_name) (you can do the same for first_name)

3) and to have your queries being written as 
                  CLEANED_UP_NAME like name_cleanup(input) || '%'


Somebody has mentioned soundex, I am no great fan of soundex :

SQL> select soundex('mac gregor'), soundex('mcgregor') 
  2  from dual;

SOUN SOUN
---- ----
M226 M262

SQL> select soundex('thompson'), soundex('thomson') 
  2  from dual;

SOUN SOUN
---- ----
T512 T525

HTH,

Stephane Faroult


Tracy Rahmlow wrote:
> 
> I am looking for an efficient solution to the following:
> 
> We intend to capture information about a client such as:
> 
> first name - John
> last name - McDonald
> phone numer - 222.222.2222
> zip code - 43333
> state - FL
> client number - 123343
> 
> The names will be stored in mixed case for proper printing on client documents.
> The reps would like the flexiblity to enter the search criteria in a number of
> formats such as:
> 
> 1)  last name like mcdon* (wildcard) and first name = john
> 2)  client number = 123343 (note: some clients do not always have their client
> number handy so it can not be the only available search mechanism)
> 3)  last name = mac gregor (and locate both macgregor and mac gregor)
> 4)  last name = kinney-jones (and locate both kinney-jones and kinney jones)
> 
> How many indexes and of what type are required?  Does the leading the column of
> an index have to be specified for the index to be used?  I thought I remember
> hearing that that was a limitation of an older release, but that is no longer
> the case with 8 and up.   Are there any white papers available that address the
> topic of client search and best practices?
> 
> Thanks for your help!!
> 
> American Express made the following
>  annotations on 10/30/2003 04:11:07 PM
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Stephane Faroult
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to