Solved

SQL: Pull name from substring .

Posted on 2010-08-24
13
262 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
  • 3
  • +2
13 Comments
 
LVL 92

Expert Comment

by:Patrick Matthews
ID: 33514393
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
ID: 33514420
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
ID: 33514486
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
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

 
LVL 92

Accepted Solution

by:
Patrick Matthews earned 400 total points
ID: 33514506
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
ID: 33514521
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
ID: 33514546
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
 
LVL 16

Expert Comment

by:vdr1620
ID: 33514571
SELECT SUBSTRING(ColumnName,CHARINDEX('(',ColumnName)+1,CHARINDEX(')',ColumnName)-(CHARINDEX('(',ColumnName+1))
+ ' '+
SUBSTRING(ColumnName', 1, CHARINDEX(',',ColumnName)-1)
0
 

Author Closing Comment

by:Levi Martin
ID: 33514606
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
ID: 33514607
:)
0
 
LVL 10

Expert Comment

by:Jini Jose
ID: 33514658
hi matthewspatrick

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

Author Comment

by:Levi Martin
ID: 33514681
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
ID: 33515309
>>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
ID: 33515325
:)
0

Featured Post

Forrester Webinar: xMatters Delivers 261% ROI

Guest speaker Dean Davison, Forrester Principal Consultant, explains how a Fortune 500 communication company using xMatters found these results: Achieved a 261% ROI, Experienced $753,280 in net present value benefits over 3 years and Reduced MTTR by 91% for tier 1 incidents.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
Via a live example combined with referencing Books Online, show some of the information that can be extracted from the Catalog Views in SQL Server.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

688 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