在gbase数据库中,如何使用sql将字段中按照逗号分割的数据转换成多行
时间: 2024-06-06 10:10:23 浏览: 137
可以使用MySQL的内置函数SUBSTRING_INDEX和UNION ALL实现将逗号分割的字段转换成多行。示例代码如下:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(field_name, ',', numbers.n), ',', -1) AS field_values
FROM table_name
JOIN
(SELECT a.N + b.N * 10 + 1 AS n
FROM (SELECT 0 AS N UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4
UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) a
CROSS JOIN (SELECT 0 AS N UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4
UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) b
ORDER BY n) numbers
WHERE numbers.n <= LENGTH(field_name) - LENGTH(REPLACE(field_name, ',', '')) + 1;
其中,field_name为需要分割的字段名,table_name为数据表名,field_values为分割后的每一个值,numbers是用于生成数字序列的子查询。
阅读全文