阅读量:1
在Oracle中,可以使用CONNECT BY LEVEL语句和REGEXP_SUBSTR函数来实现根据逗号将一行数据拆分成多行数据。以下是一个示例:
假设有一个包含逗号分隔的字符串的表,例如:
CREATE TABLE test_table (
id NUMBER,
data VARCHAR2(100)
);
INSERT INTO test_table VALUES (1, 'A,B,C');
现在,我们想要将data字段中的逗号分隔的数据拆分成多行数据,可以使用如下SQL语句:
SELECT id,
REGEXP_SUBSTR(data, '[^,]+', 1, LEVEL) AS split_data
FROM test_table
CONNECT BY REGEXP_SUBSTR(data, '[^,]+', 1, LEVEL) IS NOT NULL
AND PRIOR id = id
AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL;
运行以上SQL语句后,将会得到如下结果:
ID | SPLIT_DATA
----|----------
1 | A
1 | B
1 | C
通过以上SQL语句,我们成功将逗号分隔的数据拆分成了多行数据。
以上就是关于“oracle根据逗号一行变多行怎么实现”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm