select regexp_substr('A,B,C,D,E', '[^,]', 1, level, 'i') as str from dual connect by level = length('A,B,C,D,E') - length(regexp_replace('A,B,C,D,E', ',', '')) 1;