Solved

SQL: Pull name from substring .

Posted on 2010-08-24
13
255 Views
Last Modified: 2012-05-10
I am looking to pull out name from a substring, have tried a couple idea's but getting held up on the first name:

Displayed as: Doe, Joseph Moe (Joseph)
Result: Joseph Doe

Any help that can be provided would be much appreciated!
0
Comment
Question by:Levi Martin
  • 4
  • 4
  • 3
  • +2
13 Comments
 
LVL 92

Expert Comment

by:Patrick Matthews
Comment Utility
The moment you hit a first name with >1 words, you are sunk.  Also, can you guarantee that each value always follows:[][]   [] denotes optional
0
 

Author Comment

by:Levi Martin
Comment Utility
That's my battle, is I'm trying to capture what's in the parenthesis as the first name. Yes, it will always follow that format:

LastName, FirstName MiddleName (FirstName)
0
 
LVL 10

Assisted Solution

by:Jini Jose
Jini Jose earned 100 total points
Comment Utility
kindly try this below code

declare @a varchar(250)
set @a='Doe, Joseph Moe (Joseph)'

select substring(@a,CHARINDEX(',', @a)+1,CHARINDEX(' ', @a,CHARINDEX(',', @a)+2)-CHARINDEX(',', @a)) + ' ' +
substring(@a,0,CHARINDEX(',', @a))
0
 
LVL 92

Accepted Solution

by:
Patrick Matthews earned 400 total points
Comment Utility
SELECT OriginalName, LEFT(OriginalName, CHARINDEX(',', OriginalName) - 1) + ' ' +       SUBSTRING(OriginalName, CHARINDEX('(', OriginalName) + 1, CHARINDEX(')', OriginalName) - CHARINDEX('(', OriginalName) - 1) AS RedoneFROM SomeTable
0
 
LVL 6

Expert Comment

by:LCSandman8301
Comment Utility
not to knock it but the way names are going we may have ( in the names soon but check out the code below
select substring(fullname, charindex('(', fullname), charindex(')', fullname) - charindex('(', fullname))

from table1

Open in new window

0
 
LVL 92

Expert Comment

by:Patrick Matthews
Comment Utility
gmailjini,I think your syntax is adding some extraneous spaces.  Your example has a leading space, and two spaces between the first name and surname.:)Patrick
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 16

Expert Comment

by:vdr1620
Comment Utility
SELECT SUBSTRING(ColumnName,CHARINDEX('(',ColumnName)+1,CHARINDEX(')',ColumnName)-(CHARINDEX('(',ColumnName+1))
+ ' '+
SUBSTRING(ColumnName', 1, CHARINDEX(',',ColumnName)-1)
0
 

Author Closing Comment

by:Levi Martin
Comment Utility
First post was great, had an extra space which original poster caught. That's so much for all the follow-up experts!!
0
 
LVL 10

Expert Comment

by:Jini Jose
Comment Utility
:)
0
 
LVL 10

Expert Comment

by:Jini Jose
Comment Utility
hi matthewspatrick

what happened if the name does not have any brackets ?
0
 

Author Comment

by:Levi Martin
Comment Utility
The main IT team here using this name as a P_KEY instead of employee # (don't get me going on that) but they at least always have the first name parenthesis. Seriously, can't thank those poster to this board enough, thanks everyone for the quick follow-up!
0
 
LVL 92

Expert Comment

by:Patrick Matthews
Comment Utility
>>what happened if the name does not have any brackets ?What happens is, the query fails, but that's why I asked the Asker to guarantee that it would always be there :)Volcrom19: you're most welcome!
0
 
LVL 10

Expert Comment

by:Jini Jose
Comment Utility
:)
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Occasionally there is a need to clean table columns, especially if you have inherited legacy data. There are obviously many ways to accomplish that, including elaborate UPDATE queries with anywhere from one to numerous REPLACE functions (even within…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Viewers will learn how the fundamental information of how to create a table.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now