||= (Verbundzuordnung) (Transact-SQL)
Gilt für: Azure SQL-Datenbank
Die ||=
Verkettung mit zusammengesetztem Zuordnungsoperator kann verwendet werden, um einen Ausdruck mit dem Wert einer Zeichen- oder Binären Zeichenfolgenvariablen zu verketten und dann der Variablen den resultierenden Ausdruck zuzuweisen.
Der ||=
Operator unterstützt das gleiche Verhalten wie der +=-Operator für Zeichen- und Binäre Zeichenfolgen.
Transact-SQL-Syntaxkonventionen
Syntax
variable ||= expression
Argumente
variable
Eine T-SQL-Variable vom Zeichentyp: char, varchar, nchar, nvarchar, varchar(max), or nvarchar(max), or of binary type: binary or varbinary or varbinary(max).
expression
Ein Zeichen oder binärer Ausdruck. Wenn der Ausdruck nicht vom Zeichentyp stammt, muss der Typ des Ausdrucks implizit in eine Zeichenfolge konvertiert werden können.
Rückgabetypen
Weist dem Variablen das Ergebnis des Verkettungsoperators für Zeichenfolgen zu.
- Wenn die Variable oder der Ausdruck ein SQL-Wert
NULL
ist, lautetNULL
das Ergebnis des verketteten Ausdrucks . - Wenn die Variable vom Datentyp "Large Object( LOB)" (varchar(max) oder "nvarchar(max)" ist, lautet der resultierende Ausdruck "varchar(max) " oder "nvarchar(max)".
- Wenn die Variable einen LOB-Typ varbinary(max) aufweist, lautet der resultierende Ausdruck varbinary(max).
- Wenn die Variable kein Branchentyp ist, wird das Ergebnis auf die maximale Länge des deklarierten Typs der Variablen abgeschnitten.
Hinweise
Wenn das Ergebnis der Verkettung von Zeichenfolgen den Grenzwert von 8.000 Byte übersteigt, wird das Ergebnis abgeschnitten. Wenn jedoch mindestens eine der verketteten Zeichenfolgen ein großer Werttyp ist, tritt keine Abkürzung auf.
Bei der Verkettung binärer Zeichenfolgen und Zeichen zwischen den binären Zeichenfolgen muss eine explizite Konvertierung in Zeichendaten erfolgen.
Leere Zeichenfolgen und Zeichen
Der ||=
Operator (Zeichenfolgenverkettung) verhält sich anders, wenn er mit einer leeren Zeichenfolge der Länge Null funktioniert als bei verwendung mit NULL
oder unbekannten Werten. Eine leere Zeichenfolge lässt sich als zwei einfache Anführungszeichen ohne Zeichen innerhalb der Anführungszeichen angeben. Eine binäre Zeichenfolge der Länge Null kann ohne 0x
Bytewerte angegeben werden, die in der Hexadezimalkonstante angegeben sind. Beim Verketten einer leeren Zeichenfolge werden immer die beiden angegebenen Zeichenfolgen verkettet.
Verkettung von NULL-Werten
Wie bei arithmetischen Vorgängen, die für NULL
Werte ausgeführt werden, ist das Ergebnis normalerweise ein NULL
Wert, wenn ein NULL
Wert einem bekannten Wert hinzugefügt wird. Ein Zeichenfolgenverkettungsvorgang, der mit einem NULL
Wert ausgeführt wird, sollte auch ein NULL
Ergebnis erzeugen.
Der ||=
Operator berücksichtigt die SET CONCAT_NULL_YIELDS_NULL
Option nicht und verhält sich immer so, als ob das ANSI SQL-Verhalten aktiviert ist, was zu einer der Eingaben NULL
führtNULL
. Dies ist der Hauptunterschied beim Verhalten zwischen den +=
Operatoren und ||=
Verkettungsoperatoren. Weitere Informationen finden Sie unter SET CONCAT_NULL_YIELDS_NULL.
Beispiele
A. Verkettung mit zusammengesetzter Zuordnung für Zeichenfolgen verwenden
DECLARE @v1 varchar(10) = 'a'
SET @v1 ||= 'b';
SELECT @v1
Hier sehen Sie das Ergebnis.
ab
B. Verwenden von Verkettung mit zusammengesetzter Zuordnung für Binärdaten
DECLARE @v2 varbinary(10) = 0x1a;
SET @v2 ||= 0x2b;
select @v2;
Hier sehen Sie das Ergebnis.
0x1A2B
Zugehöriger Inhalt
- || (Zeichenfolgenverkettung) (Transact-SQL)
- + (Zeichenfolgenverkettung) (Transact-SQL)
- += (Zeichenfolgenverkettungszuweisung) (Transact-SQL)
- ALTER DATABASE (Transact-SQL)
- CAST und CONVERT (Transact-SQL)
- Datentypkonvertierung (Datenbank-Engine)
- Data types (Transact-SQL) (Datentypen (Transact-SQL))
- Ausdrücke (Transact-SQL)
- Integrierte Funktionen (Transact-SQL)
- Operatoren (Transact-SQL)
- SELECT (Transact-SQL)
- SET-Anweisungen (Transact-SQL)