with t as
(select '1,2,3,4,5' a from dual)
select substr(a,
decode(level - 1, 0, 0, instr(a, ',', 1, level - 1)) + 1,
(decode(level,
regexp_count(a, ',') + 1,
length(a) + 1,
instr(a, ',', 1, level))) -
(decode(level - 1, 0, 0, instr(a, ',', 1, level - 1)) + 1))
from t
connect by level <= regexp_count(a, ',') + 1
oracle 按逗号拆分字符串为多行,将逗号分隔的字段内容拆分为多行
最新推荐文章于 2024-01-25 20:05:34 发布