본문 바로가기
IT 개발

MSSQL 함수- STRING_AGG

by Angela- 2024. 12. 8.

SQL Server에서 여러 행(Row)의 컬럼 값을 하나로 합치는 방법 중 하나인 STRING_AGG 함수에 대해 알아보겠습니다.

 

  STRING_AGG ( expression, separator ) [ <order_clause> ]

  <order_clause> ::=
    WITHIN GROUP ( ORDER BY <order_by_expression_list> [ ASC | DESC ] )

  expression - 모든 형식의 식입니다. 문자열이 아닌 형식은 NVARCHAR 형식으로 변환됩니다.
  separator  - 연결된 문자열의 구분 기호로 사용되는 또는 형식의 NVARCHAR식 VARCHAR 입니다.
                리터럴 또는 변수일 수 있습니다.

  <order_clause>
  또는 WITHIN GROUP 절을 사용하여 연결된 결과의 순서를 지정합니다.

  <order_by_expression_list>
  결과 정렬에 사용할 수 있는 비상수 식의 목록입니다. 
  order_by_expression은 하나만 허용됩니다. 기본 정렬 순서는 오름차순입니다.

 

● STRING_AGG 설명
 STRING_AGG 는 행의 모든 식을 하나의 문자열로 연결하는 집계 함수입니다. 
 식 값은 문자열 형식으로 암시적으로 변환된 다음, 연결됩니다. 
 문자열에 대한 암시적 변환은 데이터 형식 변환에 대한 기존 규칙을 따릅니다.

 Null 값이 무시되고 해당 구분 기호는 추가되지 않습니다. null 값의 자리 표시자를 반환하려면
 ISNULL 함수를 사용하면 됩니다.

 

● 예제

아래와 같은 데이터가 있는 테이블을 대상으로 확인해 보겠습니다.

 

기본적인 구분으로 사용한 방법입니다.

 

컬럼 값을 정렬하여 합치는 방법입니다.

 

 

'IT 개발' 카테고리의 다른 글

[JavaScript] 자바스크립트 toFixed  (1) 2024.12.13
MSSQL 함수 - FOR XML  (0) 2024.12.10
MSSQL 함수 - CHARINDEX  (0) 2024.12.05
MSSQL - 파티션 테이블 활용  (0) 2024.12.03
MSSQL - 파티션 테이블 생성  (0) 2024.11.30