Expected Output:
drop table t;
create table t(c varchar2(10));
insert into t values('A,B');
insert into t values('K,L,M,N');
COMMIT;
select * from t;
select max(regexp_count(c,',')+1) from t;
select * from dual connect by level <=(select max(regexp_count(c,',')+1) from t);
select level from dual connect by level <=(select max(regexp_count(c,',')+1) from t);
select * from t,
(select level l from dual connect by level <=(select max(regexp_count(c,',')+1) from t))
order by c,l ;
select * from t,
(select level l from dual connect by level <=(select max(regexp_count(c,',')+1) from t))
where l<=regexp_count(c,',')+1
order by c,l ;
select c,l,regexp_substr(c,'\w',1,l) from t,
(select level l from dual connect by level <=(select max(regexp_count(c,',')+1) from t))
where l<=regexp_count(c,',')+1
order by c,l ;
select regexp_substr(c,'\w',1,l) from t,
(select level l from dual connect by level <=(select max(regexp_count(c,',')+1) from t))
where l<=regexp_count(c,',')+1
order by c,l ;
----------------------------------------------------------------------------------------------------
select c from t,
lateral(select level l from dual connect by level<=regexp_count(c,',')+1);
select c,l,regexp_substr(c,'\w',1,l) from t,
lateral(select level l from dual connect by level<=regexp_count(c,',')+1);
select regexp_substr(c,'\w',1,l) from t,
lateral(select level l from dual connect by level<=regexp_count(c,',')+1);
No comments:
Post a Comment