sql >> Database >  >> RDS >> Mysql

Mysql-query om door spaties gescheiden tekenreeksen te scheiden Omzetten in 2 kolommen

hier is een vraag die aan uw eisen voldoet. Merk op dat het eigenlijk geen rijen uit de COLUMNS-tabel selecteert, dit is nodig omdat MySQL geen rijgenerator beschikbaar heeft, elke tabel kan hierheen gaan, maar het moet meer rijen hebben dan de onderstaande query zou moeten retourneren, anders zal het werken zoals een LIMIT-commando.

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, ' ', ''));

Laat het me weten als je vragen hebt,

Groeten,

James




  1. MariaDB LOCALTIME() uitgelegd

  2. Een MySQL-query wijzigen die duplicaten verwijdert

  3. Hoe te updaten/verwijderen met elementen uit twee verschillende tabellen SQLite

  4. Tips en trucs voor het implementeren van op databaserollen gebaseerde toegangscontroles voor MariaDB