es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

MySQL / RegEXP / Dividir Nombre y Apellido

Utilizando MySQl Workbench, estoy intentando crear una consulta en la que tome una columna que tiene el primer y segundo nombre, y lo divida en Nombre y Apellido USANDO REGEXP.

Por ejemplo, si tengo una celda de una columna que tiene “Tom Della ‘Angelo”, me gustaría que los resultados de la consulta de Nombre tenga “Tom” y los resultados de la consulta de Apellido tenga “Della ‘Angelo”.

He intentado:

SELECT “Tom Della ‘Angelo”
REGEXP “.*(?:\ n | $)”;

Pero esto no devuelve mucho, aparte de un número.

Por favor, no recomiende simplemente crear dos columnas, una para el primero y otra para el segundo. Por favor, no recomiende algo que no use REGEXP.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puede utilizar la función REGEXP_SUBSTR para dividir la columna en dos columnas separadas. La sintaxis para esta función es REGEXP_SUBSTR(cadena, patrón, posición).

    Por ejemplo, si tiene una columna llamada FullName con el valor Tom Della 'Angelo, puede utilizar la siguiente consulta para dividir la columna en dos columnas separadas:

    sql
    SELECT
    REGEXP_SUBSTR(FullName, '^[^ ]+', 1) AS FirstName,
    REGEXP_SUBSTR(FullName, '^[^ ]+ (.*)', 1) AS LastName
    FROM
    table_name;

    Esta consulta devolverá los siguientes resultados:

    FirstName LastName
    Tom Della ‘Angelo

Comments are closed.