Bagikan melalui


+= (Penetapan Penggalian String) (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistem Platform Analitik (PDW)Titik akhir analitik SQL di Microsoft FabricGudang di Microsoft FabricDatabase SQL di Microsoft Fabric

Menggabungkan dua string dan mengatur string ke hasil operasi. Misalnya, jika variabel @x sama dengan 'Adventure', maka @x += 'Works' mengambil nilai @xasli , menambahkan 'Works' ke string, dan diatur @x ke nilai baru 'AdventureWorks'.

Konvensi sintaks transact-SQL

Syntax

expression += expression  

Arguments

expression
Adalah ekspresi valid dari salah satu jenis data karakter.

Jenis Hasil

Mengembalikan jenis data yang ditentukan untuk variabel.

Remarks

SET @v1 += 'expression' setara dengan SET @v1 = @v1 + ('expression'). Selain itu, SET @v1 = @v2 + @v3 + @v4setara dengan SET @v1 = (@v2 + . @v3) + @v4

Operator += tidak dapat digunakan tanpa variabel. Misalnya, kode berikut akan menyebabkan kesalahan:

SELECT 'Adventure' += 'Works'  

Examples

A. Penggalian menggunakan operator +=

Contoh berikut menggabungkan menggunakan += operator.

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

Berikut set hasilnya.

This is the original. More text.

B. Urutan evaluasi saat menggabungkan menggunakan operator +=

Contoh berikut menggabungkan beberapa string untuk membentuk satu string panjang lalu mencoba menghitung panjang string akhir. Contoh ini menunjukkan urutan evaluasi dan aturan pemotongan, saat menggunakan operator perangkaian.

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

Berikut set hasilnya.

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

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

Lihat Juga

Operator (Transact-SQL)
+= (Tambahkan Penugasan) (Transact-SQL)
+ (Penggalian String) (Transact-SQL)