Monday, February 20, 2012

Need help with update/select statements please.

Hi all,
I have the following data and need to clean up all the junk data and keep
the valid Lastname and FirstName. Please
see the result want below. Thank you very much in advance.
IF OBJECT_ID('Tempdb.dbo.#Temp', 'u') IS NOT NULL
DROP TABLE #Temp
GO
CREATE TABLE #Temp
(
LastName VARCHAR(25) NULL,
FirstName VARCHAR(25) NULL
)
GO
INSERT #Temp VALUES ('##Jairdullo', '##Mary')
INSERT #Temp VALUES ('(6957)BARAHONA', '(6957)MARIA')
INSERT #Temp VALUES ('(ds)Ah', '(ds)Sati')
INSERT #Temp VALUES ('(ds)BURNS', '(ds)CHRISTA')
INSERT #Temp VALUES ('*ALCARAZ', '*MICHAEL')
INSERT #Temp VALUES ('*CERRATO 95066454', '*GLENDA')
INSERT #Temp VALUES ('.', '23CURT')
INSERT #Temp VALUES ('-GREENE', '34DARLENE')
INSERT #Temp VALUES ('/', '?John')
INSERT #Temp VALUES ('~~~FREEMAN', '@.@.@.ANDREW')
INSERT #Temp VALUES ('123Zargarian', '97Lisa')
INSERT #Temp VALUES ('12DE LA CRUZ', 'SANDRA')
INSERT #Temp VALUES ('6957/ Wolfe', '6957/ Donald')
INSERT #Temp VALUES ('!ABBY', 'ABBY')
INSERT #Temp VALUES ('@.ABBOUD FAOUR', 'PARIS')
INSERT #Temp VALUES ('#ABBOTT', '$MONICA')
INSERT #Temp VALUES ('%ABBENHUYS', '^Abbath')
INSERT #Temp VALUES ('&AAMODT', '(MARILYN')
INSERT #Temp VALUES (')%aaland', '-8052160336')
INSERT #Temp VALUES ('a', 'Ksd')
INSERT #Temp VALUES ('ABD-EL-SHAID', 'DELIA')
INSERT #Temp VALUES ('12HARRISON-PEREZ', '@.#3CHRISTINA')
go
SELECT *
FROM #Temp
go
LastName FirstName
-- --
##Jairdullo ##Mary
(6957)BARAHONA (6957)MARIA
(ds)Ah (ds)Sati
(ds)BURNS (ds)CHRISTA
*ALCARAZ *MICHAEL
*CERRATO 95066454 *GLENDA
. 23CURT
-GREENE 34DARLENE
/ ?John
~~~FREEMAN @.@.@.ANDREW
123Zargarian 97Lisa
12DE LA CRUZ SANDRA
6957/ Wolfe 6957/ Donald
!ABBY ABBY
@.ABBOUD FAOUR PARIS
#ABBOTT $MONICA
%ABBENHUYS ^Abbath
&AAMODT (MARILYN
)%aaland -8052160336
a Ksd
ABD-EL-SHAID DELIA
12HARRISON-PEREZ @.#3CHRISTINA
Result want:
--Note: Remove hypen between the Lastname ABD-EL-SHAID with ABDELSHAID
LastName FirstName
-- --
Jairdullo Mary
BARAHONA MARIA
Ah Sati
BURNS CHRISTA
ALCARAZ MICHAEL
CERRATO GLENDA
GREENE DARLENE
FREEMAN ANDREW
Zargarian Lisa
LACRUZ SANDRA
Wolfe Donald
ABBY ABBY
ABBOUDFAOUR PARIS
ABBOTT MONICA
ABDELSHAID DELIA
12HARRISONPEREZ CHRISTINAUPDATE Foobar
SET last_name
= REPLACE( REPLACE( ..
REPLACE(last_name, '-', '')(
'#','')
..);
first_name
= REPLACE( REPLACE( ..
REPLACE(last_name, '-', '')(
'#','')
..);
You can nest the REPLACE() funciton 32 levels deep. This avoids cursors
and other non-relational code.

No comments:

Post a Comment