sql >> Base de Datos >  >> RDS >> Oracle

SQL (Oracle) para comparar dos listas

Dos opciones:

Use regexp_like , si usa Oracle 10g o superior:

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

Esto coincide con todo desde su tabla donde a o b o c está en la columna.

Alternativamente, puede hacer lo más horrible y difícil de mantener:

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

Aquí hay un pequeño SQL Fiddle para demostrar.

Sin embargo, como ya sabe, la normalización adecuada de su base de datos le ahorrará muchos dolores de cabeza a largo plazo.