2013-08-05 16 views
5

Ho un set di dati di nomi di persone ma il problema è che immagino quando alcune persone stavano digitando il loro nome hanno colpito la barra spaziatrice un paio di volte troppo b/c ora noi avere questo:Rimuovi spazi vuoti in eccesso nel nome - SQL

enter image description here

Notate come nella colonna nome ci sono alcuni nomi come Mario_Rossi, John__Doe, John____Doe, ecc Quale sarebbe il modo migliore per garantire che ogni volta che c'è un _ tra le parole, sia che si tratti 1,2,3, ecc. Viene rimosso/tagliato a solo 1 spazio in modo che tutti questi record diventino John_Doe.

Pensieri?

+3

*** SQL *** è solo il * Structured Query Language * - un linguaggio utilizzato da molti sistemi di database, ma non un prodotto di database ... molte cose come la manipolazione delle stringhe sono ** altamente specifiche del fornitore ** - quindi abbiamo davvero bisogno di sapere cosa ** sistema di database ** (e quale versione) stai usando (aggiorna i tag di conseguenza) .... –

+1

select name, replace (replace (replace (name, '', '< > '),'><',''),'<> ',' _ ') dalla tabella – Mihai

+0

Utilizzo SQL Server Management Studio. – Joshua

risposta

0

utilizzando REPLACE sta realmente rallentare il processo a mio parere, soprattutto se si dispone di grandi quantità di dati per la ricerca. Il mio suggerimento è quello di tagliare la stringa di input e usare ANDs e LIKEs.

Problemi correlati