이 글에서는 SQL Server에서 CONCAT 함수를 활용해 여러 개의 문자열을 하나의 문자열로 결합하는 방법을 자세히 살펴봅니다.
CONCAT 함수란?
SQL Server의 CONCAT 함수는 두 개 이상의 문자열을 받아 하나의 큰 문자열로 합쳐 주는 함수입니다. 데이터를 조합하거나 표시용 문장을 만들 때 매우 유용하게 사용됩니다.
기본 구문
SQL Server에서 CONCAT 함수를 사용하는 기본 구문은 다음과 같습니다.
CONCAT(string1, string2, ..., string_n)
매개변수 설명
- string1, string2, ..., string_n: 서로 연결하고자 하는 문자열들입니다.
사용 시 주의 사항
- CONCAT 함수는 최소 2개, 최대 254개의 문자열을 입력받을 수 있습니다. 문자열이 하나만 전달되면 오류가 발생합니다.
- 문자가 아닌 값(숫자 등)을 전달하면, CONCAT 함수는 해당 값을 자동으로 문자열로 변환한 뒤 연결합니다.
- NULL 값이 포함되면 CONCAT 함수는 이를 VARCHAR(1) 타입의 빈 문자열('')로 변환하여 처리합니다. 따라서 결과가 NULL이 되지 않습니다.
- CONCAT 함수는 SQL Server 2012부터 도입되었으며, SQL Server 2014, 2016, 2017 및 그 이후 버전에서 사용할 수 있습니다.
사용 예제
다양한 예제를 통해 CONCAT 함수의 동작 방식을 확인해 보겠습니다.
SELECT CONCAT('Quantrimang', '.com');
-- 결과: 'Quantrimang.com'
SELECT CONCAT('Quan', 'tri', 'mang', '.com');
-- 결과: 'Quantrimang.com'
SELECT CONCAT('Quan ', 'Tri ', 'Mang');
-- 결과: 'Quan Tri Mang'
문자열을 연결할 때 공백 문자를 추가하면 각 값이 구분되어 결과를 훨씬 읽기 쉽게 만들 수 있습니다.
SELECT CONCAT('Orange', ' ', 'Peach', ' ', 'Apple');
-- 결과: 'Orange Peach Apple'
위 예제에서는 CONCAT 함수의 두 번째와 네 번째 매개변수에 공백(' ')을 넣어 Orange, Peach, Apple 세 값 사이에 띄어쓰기를 추가했습니다. 이렇게 하면 문자열들이 붙어 있지 않고 자연스럽게 구분되어 출력됩니다.
이처럼 CONCAT 함수는 단순한 문자열 결합뿐 아니라, 숫자·날짜 등 다양한 데이터 타입을 문자열로 자동 변환하여 연결할 수 있어 실무에서 보고서 작성이나 동적 쿼리 생성 시 폭넓게 활용됩니다.