Development/Etc

[Oracle] 여러 row 하나로 합치기

비완 2020. 3. 5. 18:30
반응형

주로 MySql을 사용하다 오랜만에 Oracle을 사용하니 생각보다 불편한 점이 많았다.
이전에 Oracle에서 MySql로 넘어왔을때도 그랬었는데...

그중 여러 row를 하나의 Column으로 합칠때 찾아보니 Oracle 버전마다 방법이 모두 달라 정리해보기로 했다.

테스트는 9버전대에서 진행하였고, 10 이후 버전은 테스트를 못해봤지만 동작하리라 추측한다.

SELECT type
     , SUBSTR(XMLAgg(XMLElement(x, ',', name) ORDER BY code).Extract('//text()'), 2) name_9i
     , wm_concat(name) name_10g
     , ListAgg(name, ',') WITHIN GROUP(ORDER BY code) name_11g
FROM t
GROUP BY type
ORDER BY type;

반응형

'Development > Etc' 카테고리의 다른 글

[Oracle] 만나이 구하기  (0) 2024.01.16
[Oracle] CLOB 조회 - 매우 긴 문자열  (0) 2020.03.05
git reset 으로 날린 내용 복구  (0) 2019.11.08
암호화/복호화  (0) 2019.10.21
Table 복사  (0) 2019.09.26