Вот один из способов разделить строку csv с помощью регулярных выражений и рекурсивного запроса:
select distinct trim(regexp_substr(genre, '[^,]+', 1, level)) genre
from mytable
connect by instr(genre, ',', 1, level - 1) > 0
Демонстрация на DB Fiddle :
with mytable as (
select 'Action,Adventure,Romance' genre from dual
union all select 'Drama' from dual
)
select distinct trim(regexp_substr(genre, '[^,]+', 1, level)) genre
from mytable
connect by instr(genre, ',', 1, level - 1) > 0
| GENRE |
| :-------- |
| Action |
| Adventure |
| Romance |
| Drama |