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

Michael Maddison michael at ddisolutions.com.au
Tue Dec 19 21:14:07 CST 2006

Hi Arthur,
REVERSE is what you need.
Something like...

REVERSE(pub_name)), 100))) AS Expr1
FROM         publishers 


Michael M

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

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