sql >> Databasteknik >  >> RDS >> Mysql

Mysql-fråga för att separera mellanslagsavgränsad String Konvertera till 2 kolumner

här är en fråga som uppfyller dina krav. Observera att den faktiskt inte väljer några rader från COLUMNS-tabellen, detta är nödvändigt eftersom MySQL inte har en radgenerator tillgänglig, vilken tabell som helst kan gå hit men den måste ha fler rader än vad frågan nedan ska returnera, annars kommer den att agera som ett 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, ' ', ''));

Låt mig veta om du har några frågor,

Hälsningar,

James




  1. Hur man infogar standarddata i tabellen med import.sql-filen i Hibernate, MySQL Application

  2. Konvertera mysql TIME från 24 HR till AM/PM-format

  3. Hur och när används index i INSERT- och UPDATE-operationer?

  4. Hur optimerar man sökfrågan med 10+ kopplingar?