sql >> Database >  >> RDS >> Oracle

Geef door komma's gescheiden nummer door aan de IN-clausule in Opgeslagen procedure

Het eindresultaat van wat je doet is dit:

select * from tableName where LOCATION_ID IN ('1,2,3');

En wat je nodig hebt is dit:

select * from tableName where LOCATION_ID IN (1,2,3);

Dus je kunt dit gebruiken:

select * from tableName where LOCATION_ID in (
    select regexp_substr(P_LOCATIONS,'[^,]+{1}',1,level)
    from dual connect by level <= length(regexp_replace(P_LOCATIONS,'[^,]*')) + 1
);



  1. Hoe kan ik beperkingen uit mijn MySQL-tabel verwijderen?

  2. Datums sorteren in sqlite database?

  3. Wat is het verschil tussen int en integer in MySQL 5.0?

  4. @OnDelete Slaapstand-annotatie genereert geen ON DELETE CASCADE voor MySql