-- 문자열 그대로를 IN 절에 넣으면 원하시는 결과가 나오질 않습니다. WHERE col IN (:v) -- (X) -- split 서브쿼리를 만들어 IN 절에 넣는 방법 WHERE col IN (SELECT REGEXP_SUBSTR(v, '[^,]+', 1, LEVEL) v FROM (SELECT :v v FROM dual) CONNECT BY LEVEL <= REGEXP_COUNT(v, '[^,]+') ) -- INSTR, LIKE 비교하는 방법(고정자리수 값인 경우 : A,B,C) WHERE INSTR(:v, col) > 0 WHERE :v LIKE '%'||col||'%' -- INSTR, LIKE 비교하는 방법(가변자리수 값인 경우 : A,AA,AAA) WHERE INSTR(','||:v||',', ','||col||',') > 0 WHERE ','||:v||',' LIKE '%,'||col||',%' -- 동적 쿼리를 이용하는 방법 v_where := ' WHERE col IN (''' || REPLACE(:v, ',', ''',''') || ''')';