select regexp_substr('85|1|1|100|1|655|http://www.360buy.com/products/652-653-655.html|60000|6000000|6000000','[^|]+',1,level) from dual connect by rownum <= length(regexp_replace('85|1|1|100|1|655|http://www.360buy.com/products/652-653-655.html|60000|6000000|6000000','[^|]'))+1;
select regexp_substr('85|1|1|100|1|655|http://www.360buy.com/products/652-653-655.html|60000|6000000|6000000','[^|]+',1,level)
from dual
connect by rownum <=
length(regexp_replace('85|1|1|100|1|655|http://www.360buy.com/products/652-653-655.html|60000|6000000|6000000','[^|]'))+1;