sql >> Base de Datos >  >> RDS >> Mysql

Dividir datos en columnas en mysql

Puede escribir una función MySQL personalizada llamada función definida por el usuario que puede recibir el nombre de la variable y el valor para buscar y luego devolver la fila o ID, etc., según lo necesite.

En esa función, deberá recorrer todas las filas en un cursor de solo lectura y usar SUBSTRING_INDEX() para obtener los valores por separado y verificar la coincidencia.

Si necesita más ayuda, hágamelo saber.

Para obtener más información, consulte el manual de MySQL para funciones de cadena aquí .

Un extracto del comentario de un usuario del enlace anterior que podría ayudarlo a escribir la función:Esto dividirá una dirección IP ("a.b.c.d") en 4 octetos respectivos:

SELECT
`ip` , 
SUBSTRING_INDEX( `ip` , '.', 1 ) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', 2 ),'.',-1) AS b, 
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', -2 ),'.',1) AS c,
SUBSTRING_INDEX( `ip` , '.', -1 ) AS d
FROM log_table