Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta Mysql para Separar a String delimitada por espaço Converter em 2 colunas


aqui está uma consulta que satisfaça suas necessidades. Note que na verdade ele não seleciona nenhuma linha da tabela COLUMNS, isso é necessário pois o MySQL não tem um gerador de linha disponível, qualquer tabela pode ir aqui mas deve ter mais linhas do que a consulta abaixo deveria retornar, caso contrário ela irá agir como um 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, ' ', ''));

Deixe-me saber se você tiver alguma dúvida,

Cumprimentos,

James