- 09/06/2017
- 2 Minuten zu lesen
-
- c
- r
- M
- i
- M
-
+7
Gilt für: SQL Server (alle unterstützten Versionen) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
Setzt eine lokale Variable auf den Wert eines Ausdrucks.
Für die Zuweisung von Variablen wird empfohlen, SET @local_variable anstelle von SELECT @local_variable zu verwenden.
Transact-SQL-Syntaxkonventionen
Syntax
SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression }
Hinweis
Zur Ansicht der Transact-SQL-Syntax für SQL Server 2014 und früher siehe Dokumentation zu früheren Versionen.
Argumente
@local_variable
Ist eine deklarierte Variable, der ein Wert zugewiesen werden soll.
{= | += | -= | *= | /= | %= | &= | ^= | |= }
Werden Sie den Wert auf der rechten Seite der Variablen auf der linken Seite zuweisen.
Zusammengesetzter Zuweisungsoperator:
Operator | Aktion |
---|---|
= | Zuweisung des folgenden Ausdrucks an die Variable. |
+= | Hinzufügen und zuweisen |
-= | Subtrahieren und zuordnen |
*= | Multiplizieren und zuordnen |
/= | Dividieren und zuordnen |
%= | Modulieren und zuordnen |
&= | Bitweise UND und zuordnen |
^= | Bitweise XOR und zuordnen |
|= | Bitweise ODER und zuordnen |
Ausdruck
Ist ein beliebiger gültiger Ausdruck. Dies schließt eine skalare Subquery ein.
Bemerkungen
SELECT @local_variable wird normalerweise verwendet, um einen einzelnen Wert in die Variable zurückzugeben. Wenn expression jedoch der Name einer Spalte ist, können mehrere Werte zurückgegeben werden. Wenn die SELECT-Anweisung mehr als einen Wert zurückgibt, wird der Variable der zuletzt zurückgegebene Wert zugewiesen.
Wenn die SELECT-Anweisung keine Zeilen zurückgibt, behält die Variable ihren aktuellen Wert. Wenn der Ausdruck eine skalare Subquery ist, die keinen Wert zurückgibt, wird die Variable auf NULL gesetzt.
Eine SELECT-Anweisung kann mehrere lokale Variablen initialisieren.
Hinweis
Eine SELECT-Anweisung, die eine Variablenzuweisung enthält, kann nicht verwendet werden, um auch typische Ergebnismengenabrufoperationen durchzuführen.
Beispiele
A. SELECT @local_variable verwenden, um einen einzelnen Wert zurückzugeben
Im folgenden Beispiel wird der Variablen @var1
der Wert Generic Name
zugewiesen. Die Abfrage der Tabelle Store
gibt keine Zeilen zurück, da der für CustomerID
angegebene Wert in der Tabelle nicht vorhanden ist. Die Variable behält den Wert Generic Name
.
Hier ist die Ergebnismenge.
Company Name ------------------------------ Generic Name
B. SELECT @local_variable verwenden, um null zurückzugeben
Im folgenden Beispiel wird eine Unterabfrage verwendet, um @var1
einen Wert zuzuweisen. Da der für CustomerID
angeforderte Wert nicht existiert, gibt die Subquery keinen Wert zurück und die Variable wird auf NULL
gesetzt.
Hier ist die Ergebnismenge.
Company Name ---------------------------- NULL
Siehe auch
DECLARE @local_variable (Transact-SQL)
Ausdrücke (Transact-SQL)
Kombinierte Operatoren (Transact-SQL)
SELECT (Transact-SQL)