2010-05-18 5 views
0

J'ai une colonne qui a le nom de famille et le prénom ainsi que la formule de salutation dans, par exemple.Aide SQL sur un dilemme de nom

Bloggs, Joe, M.

J'ai besoin de briser ceci en Bloggs Joe M. 3 comme des colonnes distinctes. Toutes les idées ont apprécié.

L'autre chose est que je ne connaîtrai pas le nombre de virgules dans la colonne initiale.

Répondre

0

Cela dépend de SGBD que vous voulez implémenter .. Voici une discussion à propos de spliting strings on MySQL Par exemple

+0

Désolé, j'aurais dû mettre SQL Server en tant que balise. –

0

Si je suis coincé pour corriger un fichier d'entrée mal formé, je travaille généralement à partir de la droite et je fais la mise à jour vers l'autre colonne puis efface ce qui est de la virgule à la fin du champ. Ensuite, je vais courir dans une boucle jusqu'à ce qu'il n'y ait plus d'entrées avec une virgule en eux. Votre plus gros problème est que cela ne fonctionne que si toutes les données sont dans les mêmes colonnes dans le même ordre. Par exemple, si vos données peuvent prendre la forme de Bloggs, M., Joe ainsi que Bloggs, Joe, M. alors vous avez un problème d'interprétation pas seulement un problème SQL. Si vous pourriez avoir Bloggs, Joe, Mr et Bloggs, Joe mais pas Bloggs, M. ou Bloggs, M. Joe, puis travailler à partir de la gauche pas le droit.