onze sponsors
Ik heb een tijd zitten stoeien met het volgende probleem maar helaas zonder resultaat.
Wij willen binnen 1 record een samengesteld naamveld uitsplitsen in meerdere records bijv.:
Jansen, JJ wordt gesplitst naar de kolommen: JJ en Jansen, in dit geval is er dus een splitsing op een ", " maar ik kan mij ook voorstellen dat er meer soorten scheidingstekens gaan voorkomen.
Ik heb zitten zoeken naar een soort substring maar hierbij kan ik volgens mij alleen een beginpositie aangeven en de meeste nederlandse namen hebben niet hetzelfde aantal tekens.
We hopen dat jullie hier al ervaring in hebben en ons daarmee van dienst kunnen zijn.
Bij voorbaat dank,
Fred
Beste Fred,
In dit geval kan de CHARINDEX functie je een stuk op weg helpen. Deze geeft de eerste positie van een bepaald karakter.
In combinatie met SUBSTRING of LEFT kun je het door jou gegeven voorbeeld verwerken. Dat zou in een flink aantal gevallen moeten werken op een samengesteld naam veld, maar er zullen vast uitzonderingen zijn op deze regel...
Create table #persoon(naam varchar(50), voornaam varchar(50), achternaam varchar(50)) Insert into #persoon(naam) values('Janssen, JJ') Update #persoon Set voornaam = LTRIM((SUBSTRING(naam, CHARINDEX(',', naam, 0) +1, LEN(naam)))), achternaam = LEFT(naam, charindex(',', naam)-1) Select * From #persoon Drop table #persoon
Create
Groeten,
André