Auf
https://blogs.oracle.com/aramamoo/how-to-split-comma-separated-string-and-pass-to-in-clause-of-select-statement
wird erklärt, wie man in einer WHERE … IN Klausel eine String-Variable nutzen kann.
Ein noch besseres Beispiel funktioniert so:
with test as
(select ‚KART,KART-SPG,PAL‘ col from dual)
select regexp_substr(col, ‚[^,]+‘, 1, level) result from test
connect by level <= length(regexp_replace(col, ‚[^,]+‘)) + 1;
.. liefert eine Tabelle zurück und darum funktioniert dieser Ausdruck innerhalb einer WHERE-Klausel.