空格分隔样本字符串:24 4 36 2 63 5 56 7
MySQL Query Expected output:
Col A Col B
24 4
36 2
63 5
56 7
答案 0 :(得分:1)
这是一个满足您要求的查询。请注意,它实际上并没有从COLUMNS表中选择任何行,这是必要的,因为MySQL没有可用的行生成器,任何表都可以到这里,但它必须有比下面的查询更多的行应返回,否则它将像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, ' ', ''));
如果您有任何问题,请告诉我,
此致
詹姆斯