SQL - separar cadena por cada espacio

   
Vista:

separar cadena por cada espacio

Publicado por mario (2 intervenciones) el 07/04/2017 22:48:26
Hola, de antemano muchas gracias

tengo una columna "apellidos" me gustaría saber como dividir esa cadena en dos por cada espacio vacío Ejemplo:

1)
"Morales Rojas"

salida:
col1 col2
Morales Rojas

2)
"Gómez de Soza"

salida:
col1 col2
Gómez De Soza
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
Imágen de perfil de kip

separar cadena por cada espacio

Publicado por kip (10 intervenciones) el 08/04/2017 00:25:38
Hola, no se con que motor de base de datos trabajas pero hice algo en MySQL:

1
2
3
SELECT
    SUBSTRING_INDEX("Gómez de Soza", " ", 1) AS "Primer apellido",
    SUBSTR( "Gómez de Soza", LENGTH( SUBSTRING_INDEX("Gómez de Soza", " ", 1) ) + 1 ) AS "Segundo apellido"

Donde esta el string Gómez de Soza deberas colocar tu columna, lo mio es solo para un dato estatico, pero imaginemos que tengo datos de una tabla:

1
2
3
4
5
6
7
8
9
SELECT
    SUBSTRING_INDEX(apellido, " ", 1) AS "Primer apellido",
    SUBSTR( apellido, LENGTH( SUBSTRING_INDEX(apellido, " ", 1) ) + 1 ) AS "Segundo apellido"
FROM
    (
        SELECT
            "Gómez de Soza" AS apellido
    )
    tabla

En ambos caso el resultado es:

1
2
Primer apellido	Segundo apellido
Gómez	de Soza

De seguro hay alguna otra forma, esta es la mia.

Nos cuentas!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar