SQL/Oracle
[SQL] ( , )콤마로 이루어진 문자열을 다중행으로 변경하기.
"822,501,504"로 이루어진 문자열을 콤마 구분자로 다중 행으로 만들 수 없을까? 다중행으로 만들면, 서브쿼리로 그 값과 일치하는 컬럼을 가져 올 수 있을 것이다. 일단, 콤마 구분자를 정규표현식으로 구분해보자. 1Select Regexp_Substr('822,501,504','[^,]+', 1, 3) catecode FROM dual;cs Regexp_Substr이란 ? Regexp_Substr('a,b,c,d', '[^,]+', 숫자1, 숫자2) = 정규표현식 'a,b,c,d' = 콤마로 이루어진 문자열'[^,]+' = 콤마로 구분 할 것임숫자1 = 기준점숫자2 = 기준점으로부터 몇번째? 위의 쿼리의 결과는[( , )콤마구분자로 1번째 기준점으로부터 3번째의 값이므로,504이다. 이렇게 되면 ..