개요
MSSQL Concat 함수는 문자열을 붙여주는 역할을 합니다. ‘a’ + ‘b’ + ‘c’… 같은 역할입니다.
여러 개를 붙이는 기능은 더 볼것도 없는데, 구분자를 넣거나, group by 를 이용해서 행들을 한 컬럼으로 연결하려고 하는 경우는 concat 이 아니라 아래 예제처럼 다른 함수를 사용해야 합니다.
기본 구문
CONCAT ( argument1 , argument2 [ , argumentN ] ... )MSSQL Concat – 여러 개를 붙이는 기본예제
SELECT CONCAT ( '1', '2', 'A', 'B')
구분자를 넣거나, Group By 를 이용해서 여러 행을 한 컬럼으로 연결하는 경우
구분자를 넣으려면 Concat_WS 를 사용하면 됩니다.
SELECT CONCAT_WS('-', '1', '2', 'A', 'B')
GROUP BY 를 이용해서 여러 행을 한 컬럼으로 연결할 경우에는 STRING_AGG 를 사용해야 합니다. ( MSSQL 2017 버전부터 가능 )
기타 NULL 이 섞인 경우 등
NULL 은 무시되고, 입력 파라미터들은 모두 문자형 데이터타입으로 암시적으로 변환됩니다. 결과는 입력 파라미터에 따라 NVARCHAR 일 수도 있고, VARCHAR 일 수도 있습니다.
SELECT CONCAT ( '1', NULL, 'A', 'B')