Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Объединяет две строки и присваивает строке результат этой операции. Например, если переменная равна, принимает @x += 'Works' исходное значение@x, добавляется 'Works' в строку и задает @x это новое значение'AdventureWorks'.'Adventure'@x
Соглашения о синтаксисе 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
SET @y = '';
SET @y = @x + @z + @y;
SELECT LEN(@y) AS Y; -- 8000
GO
Вот результирующий набор.
Y
-------
8000
Y
-------
12000
Y
-------
8000
Y
-------
8000