728x90
SQL Server에서 여러 행(Row)의 컬럼 값을 하나로 합치기 위해서는 STUFF 함수와 FOR XML PATH 구문을 사용하면 된다. 오라클 SQL에서 XMLAGG, WM_CONCAT, LISTAGG 함수와 비슷한 기능을 수행한다.
SQL Server 2017 이상 버전을 사용한다면 STRING_AGG 함수를 사용하면 된다.
[MSSQL] STRING_AGG 함수 사용법 (컬럼 문자열 합치기)
SELECT a.job
, STUFF((SELECT ',' + ename
FROM emp
WHERE job = a.job
FOR XML PATH('')
), 1, 1, '') AS enames
FROM emp AS a
GROUP BY a.job
STUFF("문자열", "시작위치", "문자길이", "치환문자")
서브쿼리로 데이터를 조회했기 때문에 GROUP BY를 사용하지 않아도 결과가 출력된다.
'DataBase > MSSQL' 카테고리의 다른 글
[MSSQL] STRING_ESCAPE 함수 사용법 (0) | 2022.04.11 |
---|---|
[MSSQL] STRING_AGG 함수 사용법 (0) | 2022.04.11 |
[MSSQL] PIVOT 함수, 행을 열로 바꾸기 (0) | 2022.04.11 |
[MSSQL] STRING_SPLIT 함수, 구분자로 자르기 (0) | 2022.04.11 |
[MSSQL] 문자를 숫자 형식으로 변경 (CONVERT, TO_NUMBER) (0) | 2022.02.10 |
댓글