Aşağıdaki şekilde bir datamız olduğunu düşünelim.
NO CNT
15:3 5
20 10
Bu veriyi aşağıdaki şekle nasıl getirebiliriz ?
NO CNT
15 5
3 5
20 10
İlk bakışta zor gibi görünüyor ancak, SQL’i biraz konuşturarak bu gayet mümkün.
ERSIN@XE> with t as
2 (select ‘15:3′ no,5 cnt from dual union all
3 select ‘20′,10 from dual)
4 select distinct substr (s, instr(s,’:',1,l) + 1 , instr(s,’:',1,l+1) – instr(s,’:',1,l) – 1 ) n
o,cnt
5 from (select cnt,’:’ || no || ‘:’ s, level l from t connect by level <= length(no) – length(rep
lace(no,’:')) + 1)
6 order by cnt;
NO CNT
———————— ———-
15 5
3 5
20 10
Kaynak : http://forums.oracle.com/forums/thread.jspa?forumID=75&threadID=507398