欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql字符串分隔行轉列

謝彥文2年前11瀏覽0評論

MySQL 中有時需要將一行字符串中的多個值分隔開并轉換成多行的形式,這個過程我們稱之為字符串分隔行轉列。下面是一些實現的方法。

1.使用 SUBSTRING_INDEX() 函數

SELECT TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX('a,b,c,d', ',', n), ',', -1)) value
FROM
(SELECT 1 n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) m
WHERE TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX('a,b,c,d', ',', n), ',', -1)) != '';

2.使用 UNION ALL 實現

SELECT 'a' value UNION ALL
SELECT 'b' value UNION ALL
SELECT 'c' value UNION ALL
SELECT 'd' value;

3.使用正則表達式實現

SELECT TRIM(SUBSTRING_INDEX(val, ',', 1)) value
FROM
(SELECT 
REGEXP_SUBSTR('a,b,c,d', CONCAT('[^,]+', REPEAT(',[^,]+', n-1))) val
FROM
(SELECT 1 n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) m
) p
WHERE val IS NOT NULL;

以上是三種方法,大家可以根據自己的需要,選擇適合自己的方法實現字符串分隔行轉列。