ORACLE SQL语句 拆分字符串 并换行(在ORACLE数据库中完成)
如题:在ORACLE数据库中的数据如下,如何将以下格式1在ORACLE数据库中转换成为以下格式2?------------------------------------...
如题: 在ORACLE 数据库中的数据如下,如何将以下格式1 在ORACLE数据库中转换成为以下格式2?
--------------------------------------------------------------------------------
格式1
A栏 B栏
TEST1 C749,C153,C154,C155,C158,C183,C240
---------------------------------------------------------------------------------
格式2
A栏 B栏
TEST1 C749
TEST1 C153
TEST1 C154
....
--------------------------------------------------------------------------------- 展开
--------------------------------------------------------------------------------
格式1
A栏 B栏
TEST1 C749,C153,C154,C155,C158,C183,C240
---------------------------------------------------------------------------------
格式2
A栏 B栏
TEST1 C749
TEST1 C153
TEST1 C154
....
--------------------------------------------------------------------------------- 展开
6个回答
展开全部
创建测试表
create table tb(
col1 varchar2(10),
col2 varchar2(100));
insert into tb values ('TEST1','C749,C153,C154,C155,C158,C183,C240');
运行
select col1,
substr(t.ca,instr(t.ca, ',', 1, c.lv) + 1,instr(t.ca, ',', 1, c.lv + 1) - (instr(t.ca, ',', 1, c.lv) + 1)) AS col2
from
(select col1,',' || col2 || ',' AS ca,length(col2 || ',') - nvl(length(REPLACE(col2, ',')),0) AS cnt FROM tb) t,
(select LEVEL lv from dual CONNECT BY LEVEL <= 100) c
where c.lv <= t.cnt
结果
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个数据格式是固定的吗?如果是固定的就可以这样写
select A,substr(B,1,4) from 表
union
select A,substr(B,6,4) from 表
union
select A,substr(B,11,4) from 表
union
select A,substr(B,16,4) from 表
……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
with
t
as( select 'TEST1' a, 'C749,C153,C154,C155,C158,C183,C240'
b
from
dual)
select a,
regexp_substr(b,'[^,]+',1,level)
b from
t
connect
by
level<=length(b)-length(replace(b,',',''))
试试吧
t
as( select 'TEST1' a, 'C749,C153,C154,C155,C158,C183,C240'
b
from
dual)
select a,
regexp_substr(b,'[^,]+',1,level)
b from
t
connect
by
level<=length(b)-length(replace(b,',',''))
试试吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以B栏字段进行分组,select B栏,A栏 from 表 group by B栏;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询