with t1 as(
select '张三' 姓名, '唱歌、跳舞' 爱好 from dual
union all
select '李四' 姓名,'吃饭、睡觉、打张三' 爱好 from dual
select 姓名,level,regexp_substr(爱好,['[^、]',1,level) 爱好
From t1
connect by level <= regexp_count (爱好,'[^、]+')
and prior 姓名=姓名
and prior dbms_random.value is not null
Oracle 之 分割字段以Table显示
![](https://img-home.csdnimg.cn/images/20240711042549.png)