Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к: Sql Server 2025 (17.x)
База данных
SQL Azure Управляемого экземпляра
SQL Azure в Microsoft Fabric
||= Объединение с помощью оператора составного назначения можно использовать для объединения выражения со значением символьной или двоичной строковой переменной, а затем назначить результирующее выражение переменной.
Оператор ||= поддерживает то же поведение, что и оператор += для символьных и двоичных строк.
Соглашения о синтаксисе Transact-SQL
Syntax
variable ||= expression
Arguments
variable
Переменная T-SQL типа символов: char, varchar, nchar, nvarchar, varchar(max)или nvarchar(max), или двоичного типа: binary или varbinary или varbinary(max).
expression
Символ или двоичное выражение. Если выражение не является типом символа, тип выражения должен быть неявно преобразован в строку символов.
Типы возвращаемых данных
Назначает результат оператора объединения для символьных строк переменной.
- Если переменная или выражение является значением SQL
NULL, результатом сцепленного выражения являетсяNULL. - Если переменная имеет тип данных большого объекта (LOB) (varchar(max) или nvarchar(max)), то результирующее выражение — varchar(max) или nvarchar(max).
- Если переменная имеет тип varbinary(max),результирующее выражение имеет тип varbinary(max).
- Если переменная не является типом бизнес-объекта, результат усечен до максимальной длины объявленного типа переменной.
Remarks
Если результат объединения строк превышает предел в 8 000 байт, то он усекается. Однако если хотя бы одна из строк сцеплена является большим типом значения, усечение не происходит.
При сцеплении двоичных строк с любыми символами между двоичными строками необходимо использовать явное преобразование в символьные данные.
Оператор ||= каналов доступен в Управляемом экземпляре SQL Azure с помощью политики обновленияsql Server 2025 или 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
Связанный контент
- || (Объединение строк) (Transact-SQL)
- + (объединение строк) (Transact-SQL)
- += (назначение сцепления строк) (Transact-SQL)
- Изменить базу данных (Transact-SQL)
- CAST и CONVERT (Transact-SQL)
- Преобразование типов данных (ядро СУБД)
- Типы данных (Transact-SQL)
- Выражения (Transact-SQL)
- Встроенные функции (Transact-SQL)
- Операторы (Transact-SQL)
- SELECT (Transact-SQL)
- Инструкции SET (Transact-SQL)