Oracle
 sql >> Datenbank >  >> RDS >> Oracle

SQL (Oracle), um zwei Listen zu vergleichen

Zwei Optionen:

Verwenden Sie regexp_like , wenn Sie Oracle 10g oder höher verwenden:

select *
  from my_table
 where regexp_like(listcolumn, '[abc]')

Dies stimmt mit allem aus Ihrer Tabelle überein, wo a oder b oder c steht in der Spalte.

Alternativ können Sie das schrecklichere und schwieriger zu wartende tun:

select *
  from my_table
 where listcolumn like '%a%'
    or listcolumn like '%b%'
    or listcolumn like '%c%'

Hier ist ein kleiner SQL Fiddle zu demonstrieren.

Wie Sie jedoch bereits wissen, wird Ihnen eine ordnungsgemäße Normalisierung Ihrer Datenbank langfristig viel Ärger ersparen.