sql >> Database teknologi >  >> RDS >> Mysql

Mysql-forespørgsel til at adskille mellemrumssepareret streng Konverter til 2 kolonner

her er en forespørgsel, der opfylder dine krav. Bemærk, at den faktisk ikke vælger nogen rækker fra tabellen COLUMNS, dette er nødvendigt, da MySQL ikke har en rækkegenerator tilgængelig, enhver tabel kan gå her, men den skal have flere rækker, end forespørgslen nedenfor skal returnere, ellers vil den fungere som en LIMIT-kommando.

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

Sig til, hvis du har spørgsmål,

Med venlig hilsen

James




  1. Sammenlign rækker i orakeltabellen, og opdater de der matcher

  2. Fix Msg 8116 "Argumentdatatypedatoen er ugyldig for argument 1 for substring-funktionen" i SQL Server

  3. Kan skalarfunktioner anvendes før filtrering, når der udføres en SQL-sætning?

  4. Python getter og setter via @property inden for SqlAlchemy modelklassedefinition:HOWTO