oracle 分割字符串 regexp_substr
表数据如下:
ids id
3,4,6 5
23,24,26,27 28
想要使用一个sql,将ids拆分后查询到如下记录。请教如何实现。
ids id
3 5
4 5
6 5
23 28
24 28
26 28
27 28
[解决办法]
select ids, id from( select regexp_substr(ids, '[^,]+',1,lvl) ids, lvl, id from t, (select level lvl from dual connect by level < =(select max(length(regexp_replace(ids,'[^,]','')))+1 max_tokens from t))) where ids is not null order by id, lvl;