Wenn Sie don‘ t möchten, dass Ihre Suchzeichenfolge bearbeiten, könnte dies ein Weg sein:
select *
from yourTable
where csv like '%' || replace('A,C', ',', '%') || '%'
zum Beispiel:
with yourTable(id, csv) as (
select 1, 'A,B,C,D,E' from dual union all
select 2, 'A,C,D,E' from dual union all
select 3, 'B,C,D,E' from dual
)
select *
from yourTable
where csv like '%' || replace('A,C', ',', '%') || '%'
gibt:
ID CSV
---------- ---------
1 A,B,C,D,E
2 A,C,D,E
Bedenken Sie, dass dies nur funktioniert, wenn die Zeichen in der Suchzeichenfolge in der gleichen Reihenfolge der CSV-Spalte; zum Beispiel:
with yourTable(id, csv) as (
select 1, 'C,A,B' from dual
)
select *
from yourTable
here csv like '%' || replace('A,C', ',', '%') || '%'
wird keine Ergebnisse
Sie brauchen einige Klammern in dort sonst die AND funktioniert nicht wie vorgesehen –
@ChristianPalmer Danke für die Bearbeitung. –
Danke @TimBiegeleisen – Srini2k6