Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête Mysql pour séparer la chaîne délimitée par des espaces Convertir en 2 colonnes

voici une requête qui répond à vos besoins. Notez qu'il ne sélectionne en fait aucune ligne de la table COLUMNS, cela est nécessaire car MySQL n'a pas de générateur de lignes disponible, n'importe quelle table peut aller ici mais elle doit avoir plus de lignes que la requête ci-dessous ne devrait en renvoyer, sinon elle agira comme une commande 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, ' ', ''));

Faites-moi savoir si vous avez des questions,

Cordialement,

Jacques