Udostępnij za pośrednictwem


+= (Przypisanie łączenia ciągów) (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricMagazyn w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric (wersja zapoznawcza)

Łączy dwa ciągi i ustawia ciąg na wynik operacji. Jeśli na przykład zmienna @x równa się "Adventure", element @x += "Works" przyjmuje oryginalną wartość @x, dodaje wartość "Works" do ciągu i ustawia @x na nową wartość "AdventureWorks".

Transact-SQL konwencje składni

Syntax

expression += expression  

Arguments

expression
Jest dowolnym prawidłowym wyrażeniem dowolnego typu danych znaków.

Result Types

Zwraca typ danych zdefiniowany dla zmiennej.

Remarks

SET @v1 += 'expression' is equivalent to SET @v1 = @v1 + ('expression'). Ponadto zestaw jest odpowiednikiem parametru SET @v1@v3@v4 + = + @v1@v2= (@v2 + . @v3) + @v4

Nie można użyć operatora += bez zmiennej. Na przykład następujący kod spowoduje błąd:

SELECT 'Adventure' += 'Works'  

Examples

A. Łączenie przy użyciu operatora +=

Poniższy przykład łączy się przy użyciu += operatora .

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

Oto zestaw wyników.

This is the original. More text.

B. Kolejność oceny podczas łączenia przy użyciu operatora +=

Poniższy przykład łączy wiele ciągów w celu utworzenia jednego długiego ciągu, a następnie próbuje obliczyć długość końcowego ciągu. W tym przykładzie pokazano kolejność oceny i obcinanie reguł podczas korzystania z operatora łączenia.

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

Oto zestaw wyników.

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

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

See Also

Operators (Transact-SQL)
+= (Dodaj przypisanie) (Transact-SQL)
+ (Łączenie ciągów) (Transact-SQL)