Link to home
Start Free TrialLog in
Avatar of Nathan Riley
Nathan RileyFlag for United States of America

asked on

Trapping for more variables on Splitting out name filed

Currently using the below code, but found some places it's not working.  Examples that it returns nulls are:

John Smith and ASSC
John J. De La Smith
Create Function FirstName
(
	@name varchar(50)
)
RETURNS varchar(50)
AS
BEGIN

SET @name = REPLACE(REPLACE(REPLACE(@name, '  ', ' '), '.', '~'), ' ', '.')

SET @name = Case When parsename(@name, 1) in ('JR')
            Then ISNULL(parsename(@name, 4) + ' ', '') + parsename(@name, 3)
            Else ISNULL(parsename(@name, 4) + ' ', '') + ISNULL(parsename(@name, 3) + ' ', '') + parsename(@name, 2) End

RETURN REPLACE(@name, '~', '.')
END
GO    
Create Function LastName
(
	@name varchar(50)
)
RETURNS varchar(50)
AS
BEGIN

SET @name = REPLACE(REPLACE(REPLACE(@name, '  ', ' '),'.','~'), ' ', '.')

SET @name = Case When parsename(@name, 1) in ('JR')
            Then parsename(@name, 2) + ' ' + parsename(@name, 1)
            Else parsename(@name, 1) End

RETURN REPLACE(@name,'~','.')
END
GO

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of wdosanjos
wdosanjos
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial