Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
Riklinssen
Starting Member
20 Posts |
Posted - 2008-11-27 : 11:33:58
|
| In my name field it happens (a lot) that both the male lastname and the female lastname are filled inside the name field. I would like to split the male name from the female name. There are about 15 ways the male name is divided from the female name. So this is programmable I think. To make everything I bit more clear I give 3 examples.Example 1LastName old: Berg e/v Huis Male lastname:Berg Female lastname:HuisExample 2Lastname Old: Dijk w/v Van Molen Male lastnameName:Dijk Female lastname:Van MolenExample 3Lastname old:Berg en dal - Janssen Male lastname:Berg en dal Female lastname:JanssenHow can I update this in my table? |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-11-27 : 11:44:20
|
| [code]UPDATE TableSET Malelastname=CASE WHEN PATINDEX('%e/v%',LastNameold)> 0 THEN RTRIM(LEFT(LastNameold,PATINDEX('%e/v%',LastNameold)-1)) WHEN PATINDEX('%w/v%',LastNameold)> 0 THEN RTRIM(LEFT(LastNameold,PATINDEX('%w/v%',LastNameold)-1)) WHEN PATINDEX('%-%',LastNameold)> 0 THEN RTRIM(LEFT(LastNameold,PATINDEX('%-%',LastNameold)-1)) END,Femalelastname =CASE WHEN PATINDEX('%e/v%',LastNameold)> 0 THEN LTRIM(SUBSTRING(LastNameold,PATINDEX('%e/v%',LastNameold)+1,LEN(LastNameold))) WHEN PATINDEX('%w/v%',LastNameold)> 0 THEN LTRIM(SUBSTRING(LastNameold,PATINDEX('%w/v%',LastNameold)+1,LEN(LastNameold))) WHEN PATINDEX('%-%',LastNameold)> 0 THEN LTRIM(SUBSTRING(LastNameold,PATINDEX('%-%',LastNameold)+1,LEN(LastNameold))) END[/code] |
 |
|
|
|
|
|
|
|