Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Összefűz két sztringet, és a sztringet a művelet eredményére állítja. Ha például egy változó @x értéke "Adventure", akkor @x a += "Works" az eredeti értéket @xveszi fel, hozzáadja a "Works" értéket a sztringhez, és beállítja @x az új "AdventureWorks" értéket.
Transact-SQL szintaxis konvenciók
Syntax
expression += expression
Arguments
expression
Bármely karakteradattípus érvényes kifejezése .
Eredménytípusok
A változóhoz definiált adattípust adja vissza.
Remarks
A SET @v1 += "kifejezés" a SET @v1 = @v1 + (kifejezés) értéknek felel meg. A SET @v1 = @v2 + @v3 + @v4is egyenértékű a SET @v1 = (@v2 + . @v3) + @v4
A += operátor nem használható változó nélkül. A következő kód például hibát fog okozni:
SELECT 'Adventure' += 'Works'
Examples
A. Összefűzés += operátorral
Az alábbi példa összefűzi az operátort += .
DECLARE @v1 VARCHAR(40);
SET @v1 = 'This is the original.';
SET @v1 += ' More text.';
PRINT @v1;
Itt van az eredmények összessége.
This is the original. More text.
B. A kiértékelés sorrendje a += operátorral történő összefűzés során
Az alábbi példa több sztringet fűz össze egy hosszú sztring létrehozásához, majd megpróbálja kiszámítani az utolsó sztring hosszát. Ez a példa a kiértékelési sorrendet és a csonkolási szabályokat mutatja be az összefűzési operátor használata közben.
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
Itt van az eredmények összessége.
Y
-------
8000
(1 row(s) affected)
Y
-------
12000
(1 row(s) affected)
Y
-------
8000
(1 row(s) affected)
Y
-------
8000
(1 row(s) affected)
Lásd még:
Operátorok (Transact-SQL)
+= (Hozzárendelés hozzáadása) (Transact-SQL)
+ (Sztringösszefűzés) (Transact-SQL)