Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

SQL (oracle) para comparar duas listas


Duas opções:

Use regexp_like , se você estiver usando o Oracle 10g ou superior:
select *
  from my_table
 where regexp_like(listcolumn, '[abc]')

Isso corresponde a tudo da sua tabela onde a ou b ou c está na coluna.

Alternativamente, você pode fazer o mais horrível e difícil de manter:
select *
  from my_table
 where listcolumn like '%a%'
    or listcolumn like '%b%'
    or listcolumn like '%c%'

Aqui está um pouco de SQL Fiddle para demonstrar.


No entanto, como você já sabe, normalizar seu banco de dados corretamente economizará muito trabalho a longo prazo.