Here's one way:

SQL> DEF val = "Donald"
SQL>
SQL> SELECT
  2            CASE WHEN LOWER(SUBSTR('&&val', 1, 2)) = 'mc' THEN 'Mc' ||
INITCAP(SUBSTR('&&val', 3))
  3                 WHEN LOWER(SUBSTR('&&val', 1, 3)) = 'mac' THEN 'Mac' ||
INITCAP(SUBSTR('&&val', 4))
  4                 ELSE INITCAP('&&val' ) END
  5  FROM dual
  6  /
 
CASEWH
------
Donald
 
SQL> DEF val = "McDonald"
SQL> /
 
CASEWHEN
--------
McDonald
 
SQL> DEF val = "MacDonald"
SQL> /
 
CASEWHENL
---------
MacDonald
 

> Cheers, 
> 
> John Thomas



-----Original Message-----
Sent: 10 April 2002 15:38
To: Multiple recipients of list ORACLE-L


I have a fellow DBA that has to do some data cleansing.  He is looking for
some software that can properly init cap a last name, like McDonald.
Obviously, Oracle has an initcap function...

SQL> select initcap('GRABOWY') from dual;

INITCAP
-------
Grabowy

Elapsed: 00:00:00.50
SQL> select initcap('MCDONALD') from dual;

INITCAP(
--------
Mcdonald

Elapsed: 00:00:00.10
SQL> 

But it does not recognize "special" names like McDonald, so I was wondering
if someone else has encountered this, and what their solution was??

TIA!!!

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Grabowy, Chris
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
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).


**********************************************************************
Legal Disclaimer : This e-mail is for the intended recipient only. 
If an addressing or transmission error has misdirected this e-mail, 
please notify the sender by replying to this e-mail.  If you are not 
the intended recipient you must not use, disclose, distribute, copy,
print or rely on this e-mail.  The opinions expressed in this message
are those of the sender and not those of TelesensKSCL.

This footnote also confirms that this e-mail has been swept by 
MIMEsweeper for the presence of computer viruses.

Please note that TelesensKSCL monitors both incoming and
outgoing emails in accordance with our email policy.
**********************************************************************

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Thomas, John
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
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