Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Объединяет две строки и присваивает строке результат этой операции. Например, если переменная @x имеет значение 'Adventure', то операция @x += 'Works' принимает исходное значение @x, добавляет к нему строку 'Works' и присваивает переменной @x новое значение ('AdventureWorks').
Соглашения о синтаксисе Transact-SQL
Syntax
expression += expression
Arguments
expression
Любое допустимое выражение любого символьного типа данных.
Типы результатов
Возвращает тип данных, определенный для переменной.
Remarks
SET @v1 += 'expression' эквивалентно SET @v1 = @v1 + 'expression'. Кроме того, SET @v1 = @v2 + @v3 + @v4 — это эквивалент SET @v1 = (@v2 + @v3) + @v4.
Оператор += нельзя использовать без переменной. Например, следующий код вызывает ошибку:
SELECT 'Adventure' += 'Works'
Examples
A. Объединение с использованием оператора +=
В следующем примере выполняется объединение строк с помощью оператора +=.
DECLARE @v1 VARCHAR(40);
SET @v1 = 'This is the original.';
SET @v1 += ' More text.';
PRINT @v1;
Вот результирующий набор.
This is the original. More text.
B. Порядок вычисления во время объединения с помощью оператора +=
В приведенном ниже примере выполняется объединение нескольких строк в одну длинную строку, а затем предпринимается попытка вычислить длину итоговой строки. В этом примере демонстрируются правила оценки и усечения при использовании оператора объединения.
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
Вот результирующий набор.
Y
-------
8000
(1 row(s) affected)
Y
-------
12000
(1 row(s) affected)
Y
-------
8000
(1 row(s) affected)
Y
-------
8000
(1 row(s) affected)
См. также
Операторы (Transact-SQL)
+= (присваивание сложения) (Transact-SQL)
+ (Объединение строк) (Transact-SQL)