Share via


+=(문자열 연결 대입)(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System(PDW) SQL 분석 엔드포인트

두 문자열을 연결하고 문자열을 연산 결과로 설정합니다. 예를 들어 @x 변수가 'Adventure'와 같으면 @x += 'Works'는 @x의 원래 값을 가져오고, 이 문자열에 'Works'를 추가하고, @x를 새 값('AdventureWorks')으로 설정합니다.

Transact-SQL 구문 표기 규칙

Syntax

expression += expression  

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

expression
임의의 문자 데이터 형식 중 유효한 입니다.

결과 형식

변수에 정의된 데이터 형식을 반환합니다.

설명

SET @v1 += 'expression'은 SET @v1 = @v1 + ('expression')과 같습니다. 또한 SET @v1 = @v2 + @v3 + @v4도 SET @v1 = (@v2 + @v3) + @v4와 동일합니다.

+= 연산자는 변수 없이 사용할 수 없습니다. 예를 들어 다음 코드를 실행하면 오류가 발생합니다.

SELECT 'Adventure' += 'Works'  

예제

A. += 연산자를 사용한 연결

다음 예에서는 += 연산자를 사용하여 문자열을 연결합니다.

DECLARE @v1 VARCHAR(40);  
SET @v1 = 'This is the original.';  
SET @v1 += ' More text.';  
PRINT @v1;  

결과 집합은 다음과 같습니다.

This is the original. More text.

B. += 연산자를 사용한 연결 시의 계산 순서

다음 예제에서는 여러 문자열을 연결하여 하나의 긴 문자열을 만든 다음, 최종 문자열의 길이를 컴퓨팅합니다. 이 예제에서는 연결 연산자 사용 시의 계산 순서 및 잘림 규칙을 보여 줍니다.

DECLARE @x VARCHAR(4000) = REPLICATE('x', 4000)
DECLARE @z VARCHAR(8000) = REPLICATE('z',8000)
DECLARE @y VARCHAR(max);
 
SET @y = '';
SET @y += @x + @z;
SELECT LEN(@y) AS Y; -- 8000
 
SET @y = '';
SET @y = @y + @x + @z;
SELECT LEN(@y) AS Y; -- 12000
 
SET @y = '';
SET @y = @y +(@x + @z);
SELECT LEN(@y) AS Y; -- 8000
-- or
SET @y = '';
SET @y = @x + @z + @y;
SELECT LEN(@y) AS Y; -- 8000
GO

결과 집합은 다음과 같습니다.

Y       
------- 
8000 
 
(1 row(s) affected) 
 
   
Y       
------- 
12000 
 
(1 row(s) affected) 

Y       
------- 
8000 
 
(1 row(s) affected) 
 
Y       
------- 
8000 
 
(1 row(s) affected)

참고 항목

연산자(Transact-SQL)
+=(더하기 대입)(Transact-SQL)
+(문자열 연결)(Transact-SQL)