Aracılığıyla paylaş


+= (Dize Birleştirme Ataması) (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

İki dizeyi birleştirir ve dizeyi işlemin sonucuna ayarlar. Örneğin, bir değişken @x 'Adventure' değerine eşitse , @x += 'Works' öğesinin @xözgün değerini alır, dizeye 'Works' ekler ve bu yeni değeri 'AdventureWorks' olarak ayarlar @x .

Transact-SQL söz dizimi kuralları

Syntax

expression += expression  

Arguments

expression
Karakter veri türlerinden herhangi birinin geçerli bir ifadesidir .

Sonuç Türleri

Değişken için tanımlanan veri türünü döndürür.

Remarks

SET @v1 += 'ifade', SET @v1 = @v1 + ('ifade') ile eşdeğerdir. Ayrıca SET@v1 = @v2 + @v3 + @v4, SET @v1 = (@v2 + @v3) + @v4ile eşdeğerdir.

+= işleci değişken olmadan kullanılamaz. Örneğin, aşağıdaki kod bir hataya neden olur:

SELECT 'Adventure' += 'Works'  

Examples

A. += işlecini kullanarak birleştirme

Aşağıdaki örnek işlecini += kullanarak birleştirir.

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

Sonuç kümesi aşağıdadır.

This is the original. More text.

B. += işleci kullanılarak birleştirme sırasında değerlendirme sırası

Aşağıdaki örnek, bir uzun dize oluşturmak için birden çok dizeyi birleştirir ve son dizenin uzunluğunu hesaplamaya çalışır. Bu örnekte, birleştirme işleci kullanılırken değerlendirme sırası ve kesme kuralları gösterilmektedir.

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

Sonuç kümesi aşağıdadır.

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

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

Ayrıca Bkz.

İşleçler (Transact-SQL)
+= (Atama Ekle) (Transact-SQL)
+ (Dize Birleştirme) (Transact-SQL)