SQL Server에서 콤마로 구분된 텍스트를 생성하려면 `STRING_AGG` 함수를 사용할 수 있습니다. 이 함수는 SQL Server 2017(버전 14.x) 이상에서 사용 가능합니다.
기본적인 사용법은 다음과 같습니다.
SELECT STRING_AGG(column_name, ', ') AS aggregated_column
FROM table_name
예를 들어, `students` 테이블에서 모든 `student_name`을 콤마로 구분된 문자열로 만들고 싶다면 다음과 같이 쿼리를 작성할 수 있습니다.
SELECT STRING_AGG(student_name, ', ') AS student_names
FROM students
이렇게 하면 `student_names` 컬럼에 모든 학생 이름이 콤마로 구분된 하나의 문자열로 저장됩니다.
이전 버전의 SQL Server에서는 `STRING_AGG` 함수가 없기 때문에, `FOR XML PATH`를 사용해야 할 수도 있습니다.
SELECT STUFF(
(SELECT ', ' + student_name
FROM students
FOR XML PATH('')), 1, 2, '') AS student_names
`FOR XML PATH('')`를 사용하면 각 row를 하나의 문자열로 연결합니다. 그 후 `STUFF` 함수를 사용하여 맨 앞의 불필요한 콤마를 제거합니다.