Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: SQL Server 2025 (17.x) Предварительная версия
базы данных
SQL Azure Управляемого экземпляра
SQL Azureв Microsoft Fabric Preview
||=
Объединение с помощью оператора составного назначения можно использовать для объединения выражения со значением символьной или двоичной строковой переменной, а затем назначить результирующее выражение переменной.
Оператор ||=
поддерживает то же поведение, что и оператор += для символьных и двоичных строк.
Соглашения о синтаксисе Transact-SQL
Syntax
variable ||= expression
Arguments
variable
Переменная T-SQL типа символов: char, varchar, nchar, nvarchar, varchar(max)или nvarchar(max), или двоичного типа: binary или varbinary или varbinary(max).
expression
Символ или двоичное выражение. Если выражение не является типом символа, тип выражения должен быть неявно преобразован в строку символов.
Return types
Назначает результат оператора объединения для символьных строк переменной.
- Если переменная или выражение является значением SQL
NULL
, результатом сцепленного выражения являетсяNULL
. - Если переменная имеет тип данных большого объекта (LOB) (varchar(max) или nvarchar(max)), то результирующее выражение — varchar(max) или nvarchar(max).
- Если переменная имеет тип varbinary(max),результирующее выражение имеет тип varbinary(max).
- Если переменная не является типом бизнес-объекта, результат усечен до максимальной длины объявленного типа переменной.
Remarks
Если результат объединения строк превышает предел в 8 000 байт, то он усекается. Однако если хотя бы одна из строк сцеплена является большим типом значения, усечение не происходит.
При сцеплении двоичных строк с любыми символами между двоичными строками необходимо использовать явное преобразование в символьные данные.
Оператор ||=
каналов доступен в Управляемом экземпляре SQL Azure, настроенном с помощью политики обновления Always-up-to-date .
Строки и символы нулевой длины
Оператор ||=
(объединение строк) ведет себя по-разному при работе с пустой строкой нулевой длины, чем при работе с NULL
неизвестными значениями. Символьная строка символа нулевой длины может быть указана в виде двух одинарных кавычек без каких-либо символов между ними. Двоичная строка нулевой длины может быть указана без 0x
каких-либо байтовых значений, указанных в шестнадцатеричной константе. При сцеплении строки нулевой длины всегда сцепляются две указанные строки.
Объединение значений NULL
Как и при арифметических операциях, NULL
выполняемых при NULL
добавлении значения в известное значение, результат обычно является значениемNULL
. Операция объединения строк, выполняемая со NULL
значением, также должна привести к результату NULL
.
Оператор ||=
не учитывает SET CONCAT_NULL_YIELDS_NULL
параметр и всегда ведет себя так, как если бы поведение ANSI SQL было включено, что дает NULL
значение, если какой-либо из входных данных имеет значение NULL
. Это основное различие в поведении между +=
операторами объединения.||=
Дополнительные сведения см. в описании SET CONCAT_NULL_YIELDS_NULL.
Examples
A. Использование объединения с составным назначением для строк
DECLARE @v1 varchar(10) = 'a'
SET @v1 ||= 'b';
SELECT @v1
Вот результирующий набор.
ab
B. Использование объединения с составным назначением для двоичных данных
DECLARE @v2 varbinary(10) = 0x1a;
SET @v2 ||= 0x2b;
select @v2;
Вот результирующий набор.
0x1A2B
Related content
- || (Объединение строк) (Transact-SQL)
- + (объединение строк) (Transact-SQL)
- += (назначение сцепления строк) (Transact-SQL)
- Изменить базу данных (Transact-SQL)
- CAST и CONVERT (Transact-SQL)
- Преобразование типов данных (ядро СУБД)
- Типы данных (Transact-SQL)
- Expressions (Transact-SQL)
- Встроенные функции (Transact-SQL)
- Operators (Transact-SQL)
- SELECT (Transact-SQL)
- Инструкции SET (Transact-SQL)