with tab as( SELECT '3:3500;100;400,1:3500;100;400,2:3500;100;400' str from dual ) SELECT Max(str) FROM ( select wm_concat(str)over(order by str) str from( select regexp_substr(str,'[^,]+',1,level) str from tab connect by level<=length(str)-length(replace(str,',',''))+1 ) )
with tab as(
SELECT '3:3500;100;400,1:3500;100;400,2:3500;100;400' str from dual
)
SELECT Max(str) FROM (
select wm_concat(str)over(order by str) str from(
select regexp_substr(str,'[^,]+',1,level) str
from tab
connect by
level<=length(str)-length(replace(str,',',''))+1
)
)