[dba-SQLServer] Find the second occurrence of a character in astring

JWColby jwcolby at colbyconsulting.com
Wed Dec 20 03:05:08 CST 2006

For Spanish names even that does not work, although I think the difference
is not worth fighting for (but I'm not Spanish).  Vega is not the last name.
De La Vega is the last name.  De la means "of the" as in Of The Vega.  Mi
amigo in Mexico es Juan De Uriarte, Juan being the first name, De Uriarte
being the Paternal family name. 

John W. Colby
Colby Consulting

-----Original Message-----
From: dba-sqlserver-bounces at databaseadvisors.com
[mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of
artful at rogers.com
Sent: Tuesday, December 19, 2006 9:28 PM
To: dba-sqlserver at databaseadvisors.com
Cc: Peter Brawley
Subject: [dba-SQLServer] Find the second occurrence of a character in

Assume these two values in two rows in the table of interest:

Andrei Pascal
Arthur B. Fuller

I need to parse out the surname. I can't just grab the characters following
the first space, unless there is only one space. But if there are two
spaces, then I need the trailing string following the second space.

CHARINDEX( 'f', 'abcdefgh' ) returns 6  so that part is easy. How to find
the second occurrence, if any? In fact, assuming really bizarre data, what I
want is the string following the last space in the value.

Even that may not work, given Portuguese and Spanish and French surnames,
but for now I will live with that.

Suppose an entry such as:

Juan Carlos de la Vega

I need to grab the string following the last space, in T-SQL syntax.

Any ideas?

dba-SQLServer mailing list
dba-SQLServer at databaseadvisors.com

More information about the dba-SQLServer mailing list