본문 바로가기

개발/SQL

[MSSQL] 여러 행의 문자열 값 합치기


===================================================================

DECLARE @textsum VARCHAR(MAX) = '';

SELECT @textsum = @textsum + [컬럼] + ', '
FROM [테이블] WHERE [조건];

SELECT @textsum, SUBSTRING(@textsum, 1, LEN(@textsum) - 1);

===================================================================

여러행의 문자열 값을 합치기 위해
반복문이나 커서를 이용할 필요가 없다.

DECLARE @textsum VARCHAR(MAX) = '';
변수를 선언하고 

SELECT @textsum = @textsum + [컬럼] + ', '
SELECT 문으로 변수에 값을 넣을때 해당 변수를 같이 더해주면
각 행을 SELECT 할때마다 변수에 값이 더해져 반복문과 같은 효과를 볼 수 있다