如何将某一单元格中的数据拆分为列

今天来介绍一下,怎样数据库里把某一单元格中形如

1,2,3,4,5,6,7,8,9,0

这样子的数据,拆分为列:

创建测试表:

CREATE TABLE TEST_A

( ID NUMBER(12) NOT NULL, AA VARCHAR2(1024), BB VARCHAR2(1024) );

因为在数据库里,横向的数据大多都是这样滴

图片发自简书App

那么,我们的测试数据也增加一下复杂性,以便读者使用:

图片发自简书App

怎么能拆成列呢?

SELECT /*+parallel(a,32)*/ DISTINCT a.id,a.aa aa_col,

replace(replace(replace(REGEXP_SUBSTR (a.aa, '[^,]+', 1, LEVEL),'''',''),'(',''),')','') aa

FROM test_a a

CONNECT BY LEVEL <= LENGTH (a.aa) - LENGTH (REPLACE(aa, ',', '')) + 1 ;

图片发自简书App
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。