Notice
Recent Posts
Recent Comments
Link
목록regexp (1)
말랑말랑제리스타일

오라클에서 LISTAGG 기능을 사용해서 여러개의 ROW를 하나의 문자열로 합치는게 가능하죠. 그렇다면 반대로 하나의 문자열을 구분자로 분리해 여러개의 ROW로 뽑아내는 쿼리는 어떻게 만들 수 있을까요? 일단 오라클에서 기본적으로 LISTAGG와 반대의 기능으로 지원하는 함수는 없고 REGEXP_SUBSTR을 이용해 쿼리를 구성해줘야합니다. REGEXP를 이용해 생성한 LISTAGG와 반대로 작동하는 쿼리 LISTAGG로 만든 문자열은 대부분 콤마(,)로 구분되어있는 경우가 많은데요. 예를 들어 '1,2,3,4,5' 라는 문자열을 하나 만들어주고 이 문자열을 콤마로 구분해 각각의 ROW로 리턴하는 쿼리를 예시로 보여드리겠습니다. SELECT REGEXP_SUBSTR(NUMS,'[^,]+',1,LEVEL)..
데이터베이스/Oracle SQL
2023. 2. 17. 11:12