Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Zřetězí dva řetězce a nastaví řetězec na výsledek operace. Pokud se například proměnná rovná , pak @x += 'Works' vezme původní hodnotu @x, přidá 'Works' do řetězce a nastaví @x na novou hodnotu 'AdventureWorks'.'Adventure'@x
Syntax
expression += expression
Arguments
expression
Libovolný platný výraz libovolného datového typu znaku.
Návratové typy
Vrátí datový typ definovaný pro proměnnou.
Remarks
SET @v1 += 'expression' je ekvivalent SET @v1 = @v1 + ('expression').
SET @v1 = @v2 + @v3 + @v4 Je také ekvivalentní SET @v1 = (@v2 + @v3) + @v4.
Operátor += nelze použít bez proměnné. Například následující kód způsobí chybu:
SELECT 'Adventure' += 'Works'
Examples
A. Zřetězení pomocí operátoru +=
Následující příklad zřetězí pomocí operátoru += .
DECLARE @v1 VARCHAR(40);
SET @v1 = 'This is the original.';
SET @v1 += ' More text.';
PRINT @v1;
Tady je soubor výsledků.
This is the original. More text.
B. Pořadí vyhodnocení při zřetězení pomocí operátoru +=
Následující příklad zřetězí více řetězců, aby vytvořil jeden dlouhý řetězec, a pak se pokusí vypočítat délku konečného řetězce. Tento příklad ukazuje pravidla pořadí vyhodnocení a zkrácení při použití operátoru zřetězení.
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
Tady je soubor výsledků.
Y
-------
8000
Y
-------
12000
Y
-------
8000
Y
-------
8000