Separating names from a single column to 2 columns
-
I'm probably in the wrong forum, But I made a huge mistake in a table design for Billing and Shipping addresses in relation to card processing. I made a single column called attention for the name. But card processors want a first and last name for Billing and Shipping, and a single column for card name. Opps! So now I have all these names in a single column. Name like Thomas Friedman Sr. Loopy Jose De SannaAna Margret Keeneman-Hassel Kenneth G. Tompson Jr. So I can do a split in vb.net, and split them up, but I'm not sure how to place them. Just looking for ideas before I write any code to do the job. Perhaps just take the first set of chars, and that's the first name, and then the rest is the last name?
-
I'm probably in the wrong forum, But I made a huge mistake in a table design for Billing and Shipping addresses in relation to card processing. I made a single column called attention for the name. But card processors want a first and last name for Billing and Shipping, and a single column for card name. Opps! So now I have all these names in a single column. Name like Thomas Friedman Sr. Loopy Jose De SannaAna Margret Keeneman-Hassel Kenneth G. Tompson Jr. So I can do a split in vb.net, and split them up, but I'm not sure how to place them. Just looking for ideas before I write any code to do the job. Perhaps just take the first set of chars, and that's the first name, and then the rest is the last name?
IMHO it is a issue you can not resolve with code... Human names - and the way they are written down - are reflecting the human brain - lack of any order... As long as you have only one whitespace in the name you can simply split it, but what should you do with those with more than two parts in it? There is no existing algorithm to take them apart...(And if you add international customers, you are in deep...) What I would advise is: 1. Change the design of the tables, when the existing name will go into new 'firstname' column for the beginning... 2. Create logical groups of the names and 2.a. Split the simples 2.b. Check for those with Mr., Msr., Jr. and so in it and split them 2.c. Scan remained names for groups and handle them individually 2.d. Handle manually the rest (hopefully not much)
Skipper: We'll fix it. Alex: Fix it? How you gonna fix this? Skipper: Grit, spit and a whole lotta duct tape.
-
IMHO it is a issue you can not resolve with code... Human names - and the way they are written down - are reflecting the human brain - lack of any order... As long as you have only one whitespace in the name you can simply split it, but what should you do with those with more than two parts in it? There is no existing algorithm to take them apart...(And if you add international customers, you are in deep...) What I would advise is: 1. Change the design of the tables, when the existing name will go into new 'firstname' column for the beginning... 2. Create logical groups of the names and 2.a. Split the simples 2.b. Check for those with Mr., Msr., Jr. and so in it and split them 2.c. Scan remained names for groups and handle them individually 2.d. Handle manually the rest (hopefully not much)
Skipper: We'll fix it. Alex: Fix it? How you gonna fix this? Skipper: Grit, spit and a whole lotta duct tape.
It's good to get a 2nd opinion on that, and you confirmed it. I did change the design to let the customer choose what is the first and last name, sounds dumb but practical. So I did a split and select or switch case 2, 3 and 4 - first last, first (1) last, first (1+) (1+), first (1) last (SR-JR) So out of 5000, I only had 30 Mexican names, that i did by hand. Thanks for the confirmation!
-
It's good to get a 2nd opinion on that, and you confirmed it. I did change the design to let the customer choose what is the first and last name, sounds dumb but practical. So I did a split and select or switch case 2, 3 and 4 - first last, first (1) last, first (1+) (1+), first (1) last (SR-JR) So out of 5000, I only had 30 Mexican names, that i did by hand. Thanks for the confirmation!
You're welcome...
Skipper: We'll fix it. Alex: Fix it? How you gonna fix this? Skipper: Grit, spit and a whole lotta duct tape.