MySQL - Dividir un campo en dos

 
Vista:

Dividir un campo en dos

Publicado por Juanlu (4 intervenciones) el 13/09/2007 09:12:13
Hola tengo un problema clásico, creo.
Tengo un campo nombre que contiene un serie de nombre y apellidos y me gustaría separarlo en dos campos, nombres por un lado y apellidos por otros ¿como puedo hacerlo?

me gustaría crear una nueva tabla con eso campos separados.

Gracias
Juanlu
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Dividir un campo en dos

Publicado por kain (124 intervenciones) el 13/09/2007 15:44:02
dificil no es, claro, siempre y cuando sepas donde acaba el nombre y donde empieza el apellido, para cortar los datos de los campos tienes :

SUBSTRING(campo,donde_empiezo, cuantos_corto)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dividir un campo en dos

Publicado por Juanlu (4 intervenciones) el 13/09/2007 17:01:17
Evidentemente no todos los apellidos ocupan lo mismo
yo había pensado si hay alguna forma de detectar los espacios en blanco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dividir un campo en dos

Publicado por kain (124 intervenciones) el 13/09/2007 22:02:42
para buscar los espacios en blaco puedes usar LOCATE

LOCATE(que_buscas,donde_lo_buscas,desde_donde_empiezo_a_buscar)

osea, LOCATE(" ",campo) si quieres que busque el primer espacio que aparezca

LOCATE(" ",campo,5) si quieres que busque el primer espacio apartir de la posicion 5

suponiendo que el campo contenga nombre apellidos seria asi:

SUBSTRING(campo,1,LOCATE(" ",campo)) para el nombre
SUBSTRING(campo,LOCATE(" ",campo,LOCATE(" ",campo)+1),LENGTH(campo) )
para el apellido

aunque en este ultimo caso cortes mas del tamaño del campo no te dara error.

aunque espero que no tengas muchos nombres como jose antonio o juan angel

suerte

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dividir un campo en dos

Publicado por Juanlu (4 intervenciones) el 20/09/2007 10:26:08
Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de MARIO

RE:Dividir un campo en dos

Publicado por MARIO (1 intervención) el 26/04/2019 16:58:49
SELECT NOMBRES, -- el nombre completo en este campo (APELLIDO NOMBRES)
SUBSTRING(NOMBRES,1,LOCATE(" ",NOMBRES)) AS apellido ,
SUBSTRING(NOMBRES,LOCATE(" ",NOMBRES)+1,LENGTH(NOMBRES) ) AS nombres
FROM personas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar