반응형
Notice
Recent Posts
Recent Comments
Link
목록regexp (1)
말랑말랑제리스타일
[오라클 DB] LISTAGG 반대로 콤마로 구분된 문자열 분해하기
오라클에서 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