Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Voegt twee tekenreeksen samen en stelt de tekenreeks in op het resultaat van de bewerking. Als een variabele @x bijvoorbeeld gelijk is 'Adventure'aan , neemt u @x += 'Works' de oorspronkelijke waarde van @x, voegt u deze toe 'Works' aan de tekenreeks en stelt u deze nieuwe waarde 'AdventureWorks'in@x.
Transact-SQL syntaxis-conventies
Syntax
expression += expression
Arguments
expression
Elke geldige expressie van een van de tekengegevenstypen.
Retourtypen
Retourneert het gegevenstype dat is gedefinieerd voor de variabele.
Remarks
SET @v1 += 'expression' is gelijk aan SET @v1 = @v1 + ('expression').
SET @v1 = @v2 + @v3 + @v4 Is ook gelijk aan SET @v1 = (@v2 + @v3) + @v4.
De += operator kan niet worden gebruikt zonder een variabele. De volgende code veroorzaakt bijvoorbeeld een fout:
SELECT 'Adventure' += 'Works'
Examples
A. Samenvoeging met behulp van de operator +=
Het volgende voorbeeld voegt samen met behulp van de += operator.
DECLARE @v1 VARCHAR(40);
SET @v1 = 'This is the original.';
SET @v1 += ' More text.';
PRINT @v1;
Hier is het resultatenoverzicht.
This is the original. More text.
B. Volgorde van evaluatie tijdens het samenvoegen met behulp van de operator +=
Het volgende voorbeeld voegt meerdere tekenreeksen samen om één lange tekenreeks te vormen en probeert vervolgens de lengte van de uiteindelijke tekenreeks te berekenen. In dit voorbeeld ziet u de evaluatievolgorde en afkappingsregels, terwijl u de samenvoegingsoperator gebruikt.
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
SET @y = '';
SET @y = @x + @z + @y;
SELECT LEN(@y) AS Y; -- 8000
GO
Hier is het resultatenoverzicht.
Y
-------
8000
Y
-------
12000
Y
-------
8000
Y
-------
8000