DB/ORACLE
문자열 배열로 변경해서 가지고 오기
질주하는구
2016. 10. 24. 17:42
프로젝트 진행 중 함수안에 인자 값을 '111','222','3333' 같은 내용을 보내서 IN 함수의 인자 값으로 사용 하고자 했으나 varchar2형식으로 넘어 가기 때문에 에러가 발생 되어 검색 중 아래와 같은 쿼리문으로 문자여을 쪼개는 작업을 이용해서 해결
SELECT REGEXP_SUBSTR('111,222,333,444,555,666,777','[^,]+',1,LEVEL)
FROM DUAL
CONNECT BY LEVEL <= LENGTH('111,222,333,444,555,666,777') - LENGTH(REPLACE('111,222,333,444,555,666,777',',','')) + 1
'111,222,333,444,555,666' 이렇게 정보를 보내주면
111
222
333
444
555
666
이런 식으로 전달을 해줍니다. IN함숨에 select문으로 인자값을 보내주는 방식 처리
반응형