Replace 등의 함수로 값을 변경할 수는 있어도, 값을 두개로 쪼갤수는 없습니다.
값에 컴마를 붙이고 따옴표를 붙인다고 해서 값이 쪼개지는게 아닙니다.
단지 컴마와 따옴표를 포함하고 있는 하나의 긴 문자열 값일 뿐입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | -- 1. IN 검색이 아닌 문자열 검색으로 바꾸기 WHERE :v_txt LIKE '%' || col || '%' WHERE INSTR(:v_txt, col) > 0 -- 2. 값을 쪼개어 조건 주기 WHERE col IN ( SELECT REGEXP_COUNT(v, '[^,]+' , 1, LEVEL ) x FROM ( SELECT :v_txt v FROM dual) CONNECT BY LEVEL <= REGEXP_COUNT(v, '[^,]+' ) ) -- 3. 동적 쿼리 만들기 v_txt = "'0160','0161'" ; v_sql = v_sql + " WHERE col IN (" + v_txt + ")" ; |