sql >> Databáze >  >> RDS >> Oracle

SQL (oracle) pro porovnání dvou seznamů

Dvě možnosti:

Použijte regexp_like , pokud používáte Oracle 10g nebo vyšší:

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

To odpovídá všemu z vaší tabulky, kde a nebo b nebo c je ve sloupci.

Alternativně můžete udělat to hroznější a obtížnější na údržbu:

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

Zde je malý SQL Fiddle demonstrovat.

Jak však již víte, správná normalizace databáze vám z dlouhodobého hlediska ušetří spoustu bolesti.



  1. Omezení cizího klíče MySQL mizí

  2. Automatický sběr dat:Databázové soubory a logické jednotky na MS SQL Server

  3. aktualizace mysql - přeskočit prázdná pole?

  4. Načítání a hromadné shromažďování z REF CURSOR vráceného procedurou