Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL Database w usłudze Microsoft Fabric
Łączenie ||= z operatorem przypisania złożonego może służyć do łączenia wyrażenia z wartością zmiennej znaku lub ciągu binarnego, a następnie przypisania wyrażenia wynikowego do zmiennej.
Operator ||= obsługuje to samo zachowanie co operator += dla ciągów znaków i binarnych.
Transact-SQL konwencje składni
Syntax
variable ||= expression
Arguments
variable
Zmienna T-SQL typu znaku: char, varchar, nchar, nvarchar, varchar(max), lub nvarchar(max), lub typu binarnego: binary lub varbinary lub varbinary(max).
expression
Znak lub wyrażenie binarne. Jeśli wyrażenie nie jest typem znaku, typ wyrażenia musi być niejawnie konwertowany na ciąg znaków.
Typy zwracane
Przypisuje wynik operatora łączenia dla ciągów znaków do zmiennej.
- Jeśli zmienna lub wyrażenie jest wartością SQL
NULL, wynikiem połączenia wyrażenia jestNULL. - Jeśli zmienna ma duży typ danych obiektu (LOB) (varchar(max) lub nvarchar(max)), wynikowe wyrażenie ma wartość varchar(max) lub nvarchar(max).
- Jeśli zmienna jest typu LOB varbinary(max),, wynikowe wyrażenie jest zmiennej varbinary(max).
- Jeśli zmienna nie jest typem LOB, wynik zostanie obcięty do maksymalnej długości zadeklarowanego typu zmiennej.
Remarks
Jeśli wynik łączenia ciągów przekracza limit 8000 bajtów, wynik zostanie obcięty. Jeśli jednak co najmniej jeden ze połączonych ciągów jest dużym typem wartości, obcięcie nie występuje.
Jawna konwersja na dane znaków musi być używana podczas łączenia ciągów binarnych i wszystkich znaków między ciągami binarnymi.
Operator ||= potoków jest dostępny w usłudze Azure SQL Managed Instance z zasadami aktualizacjiprogramu SQL Server 2025 lub Always-up-to-date.
Ciągi i znaki o zerowej długości
Operator ||= (łączenie ciągów) działa inaczej, gdy działa z pustym ciągiem o zerowej długości niż w przypadku pracy z wartościami NULLlub nieznanymi. Ciąg znaków o zerowej długości można określić jako dwa pojedyncze znaki cudzysłowu bez żadnych znaków wewnątrz cudzysłowu. Ciąg binarny o zerowej długości można określić jako 0x bez żadnych wartości bajtów określonych w stałej szesnastkowej. Łączenie ciągu o zerowej długości zawsze łączy dwa określone ciągi.
Łączenie wartości NULL
Podobnie jak w przypadku operacji arytmetycznych wykonywanych na wartościach NULL, gdy wartość NULL jest dodawana do znanej wartości, wynik jest zazwyczaj wartością NULL. Operacja łączenia ciągów wykonana z wartością NULL powinna również wygenerować wynik NULL.
Operator ||= nie uwzględnia opcji SET CONCAT_NULL_YIELDS_NULL i zawsze zachowuje się tak, jakby zachowanie ANSI SQL zostało włączone, co daje NULL, jeśli którykolwiek z danych wejściowych jest NULL. Jest to podstawowa różnica w zachowaniu między operatorami łączenia += i ||=. Aby uzyskać więcej informacji, zobacz SET CONCAT_NULL_YIELDS_NULL.
Examples
A. Używanie łączenia z przypisaniem złożonym dla ciągów
DECLARE @v1 varchar(10) = 'a'
SET @v1 ||= 'b';
SELECT @v1
Oto zestaw wyników.
ab
B. Używanie łączenia z przypisaniem złożonym dla danych binarnych
DECLARE @v2 varbinary(10) = 0x1a;
SET @v2 ||= 0x2b;
select @v2;
Oto zestaw wyników.
0x1A2B
Treści powiązane
- || (Łączenie ciągów) (Transact-SQL)
- + (łączenie ciągów) (Transact-SQL)
- += (przypisanie łączenia ciągów) (Transact-SQL)
- BAZA DANYCH ALTER (Transact-SQL)
- RZUTOWANIE i konwertowanie (Transact-SQL)
- konwersja typu danych (aparat bazy danych)
- Typy danych (Transact-SQL)
- Wyrażenia (Transact-SQL)
- Wbudowane funkcje (Transact-SQL)
- Operatory (Transact-SQL)
- WYBIERZ (Transact-SQL)
- INSTRUKCJE SET (Transact-SQL)