Freigeben über


||= (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, lautet NULLdas 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 NULLoder 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 NULLfü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