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

Consulta Mysql para separar la cadena delimitada por espacios Convertir en 2 columnas

aquí hay una consulta que satisface sus requisitos. Tenga en cuenta que en realidad no selecciona ninguna fila de la tabla COLUMNAS, esto es necesario ya que MySQL no tiene un generador de filas disponible, cualquier tabla puede ir aquí, pero debe tener más filas de las que debería devolver la consulta a continuación, de lo contrario actuará como un comando LIMIT.

SET @VInput := '24 4 36 2 63 5 56 7';
SET @VRow := 0;

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(@VInput, ' ', (@VRow := @VRow + 1) * 2 - 1), ' ', -1), SUBSTRING_INDEX(SUBSTRING_INDEX(@VInput, ' ', (@VRow) * 2), ' ', -1) FROM INFORMATION_SCHEMA.`COLUMNS` WHERE @VRow * 2 < CHAR_LENGTH(@VInput) - CHAR_LENGTH(REPLACE(@VInput, ' ', ''));

Hazme saber si tienes alguna pregunta,

Saludos,

Jaime