select regexp_substr('a,b,c,d', '[^,]+',1,rownum) result from dual connect by rownum<=length('a,b,c,d')-length(replace('a,b,c,d', ',', ''))+1 minus select regexp_substr('a,c', '[^,]+',1,rownum) result from dual connect by rownum<=length('a,c')-length(replace('a,c', ',', ''))+1; /* b d */
select regexp_substr('a,b,c,d', '[^,]+',1,rownum) result from dual
connect by rownum<=length('a,b,c,d')-length(replace('a,b,c,d', ',', ''))+1
minus
select regexp_substr('a,c', '[^,]+',1,rownum) result from dual
connect by rownum<=length('a,c')-length(replace('a,c', ',', ''))+1;
/*
b
d
*/