Translate

martes, 8 de octubre de 2019

Cómo dividir cadenas separadas por comas y usarlas en una cláusula IN en un select en oracle


Veamos dijo Stevie Wonder, en el trabajo por x motivos guardamos un campo con ids separados por comas.

Más allá de si esto esta bien o mal, necesitaba cortarlo y buscar por estos datos, como lo hice?  :

 select regexp_substr(columnasConIdsSeparadosPorComa,'[^,]+', 1, level) from tabla;

y bueno, esta query puede estar en un in :

select * from OtraTabla ot
where ot.id in ( select regexp_substr(columnasConIdsSeparadosPorComa,'[^,]+', 1, level) from tabla )

Y eso es todo amigos!