- 09/06/2017
- 2 minuten om te lezen
-
- c
- r
- M
- i
- M
-
+7
Geldt voor: SQL Server (alle ondersteunde versies) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
Stelt een lokale variabele in op de waarde van een expressie.
Voor het toewijzen van variabelen raden wij u aan SET @local_variable te gebruiken in plaats van SELECT @local_variable.
Transact-SQL Syntax Conventions
Syntax
SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression }
Note
Om de Transact-SQL-syntaxis voor SQL Server 2014 en eerder te bekijken, raadpleegt u de documentatie voor eerdere versies.
Argumenten
@local_variable
Is een gedeclareerde variabele waarvoor een waarde moet worden toegewezen.
{= | += | -= | *= | /= | %= | &= | ^= | |= }
Toewijs de waarde rechts toe aan de variabele links.
Samengestelde toewijzingsoperator:
operator | actie |
---|---|
= | Toewijst de uitdrukking die volgt, aan de variabele toe. |
+= | Voeg toe en wijs toe |
-= | aftrekken en toewijzen |
*= | vermenigvuldigen en toewijzen |
/= | delen en toewijzen |
%= | Modulo en toewijzen |
&= | Bitwise AND en toewijzen |
^= | Bitwise XOR en toewijzen |
|= | Bitwise OR en toewijzen |
expression
Is elke geldige expressie. Dit omvat een scalaire subquery.
Opmerkingen
SELECT @local_variable wordt gewoonlijk gebruikt om een enkele waarde in de variabele terug te geven. Wanneer expression echter de naam van een kolom is, kunnen er meerdere waarden worden geretourneerd. Indien de SELECT-instructie meer dan één waarde teruggeeft, krijgt de variabele de laatste waarde die wordt teruggegeven.
Indien de SELECT-instructie geen rijen teruggeeft, behoudt de variabele zijn huidige waarde. Als de expressie een scalaire subquery is die geen waarde retourneert, wordt de variabele op NULL gezet.
Een SELECT-instructie kan meerdere lokale variabelen initialiseren.
Note
Een SELECT-instructie die een variabelentoewijzing bevat, kan niet worden gebruikt om ook typische operaties voor het ophalen van resultatenreeksen uit te voeren.
Voorbeelden
A. Gebruik SELECT @local_variable om een enkele waarde terug te geven
In het volgende voorbeeld wordt aan de variabele @var1
Generic Name
als waarde toegewezen. De query tegen de tabel Store
retourneert geen rijen omdat de waarde die is opgegeven voor CustomerID
niet bestaat in de tabel. De variabele behoudt de waarde Generic Name
.
Hier volgt de resultatenset.
Company Name ------------------------------ Generic Name
B. Gebruik SELECT @local_variable om null terug te geven
In het volgende voorbeeld wordt een subquery gebruikt om een waarde toe te wijzen aan @var1
. Omdat de gevraagde waarde voor CustomerID
niet bestaat, retourneert de subquery geen waarde en wordt de variabele ingesteld op NULL
.
Hier volgt de resultatenset.
Company Name ---------------------------- NULL
Zie ook
DECLARE @local_variable (Transact-SQL)
Expressies (Transact-SQL)
Compound Operators (Transact-SQL)
SELECT (Transact-SQL)