Puoi usare like
:
select t.*
from crappytable t
where ';' || crappycolumn || ';' like '%;2;%' or
';' || crappycolumn || ';' like '%;4;%';
Sembra che tu sappia che archiviare elenchi di valori in una singola colonna è una cattiva idea, quindi risparmierò l'arringa;)
MODIFICA:
Se non ti piace like
, puoi usare regexp_like()
così:
where regexp_like(';' || crappycolumn || ';', ';2;|;4;')