Operadores compuestos (Transact-SQL)Compound Operators (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Los operadores compuestos ejecutan operaciones y establecen un valor original en el resultado de dichas operaciones.Compound operators execute some operation and set an original value to the result of the operation. Por ejemplo, si una variable @x es igual a 35, @x += 2 toma el valor original de @x, suma 2 y establece @x en el nuevo valor (37).For example, if a variable @x equals 35, then @x += 2 takes the original value of @x, add 2 and sets @x to that new value (37).

Transact-SQLTransact-SQL proporciona los operadores compuestos siguientes:provides the following compound operators:

OperadorOperator Más informaciónLink to more information AcciónAction
+= += (Asignación de suma) (Transact-SQL)+= (Add Assignment) (Transact-SQL) Agrega una cantidad al valor original y establece este en el resultado de la operación.Adds some amount to the original value and sets the original value to the result.
-= -= (Subtract Assignment) (Transact-SQL) (-= [Asignación de resta] [Transact-SQL])-= (Subtract Assignment) (Transact-SQL) Resta una cantidad del valor original y establece este en el resultado de la operación.Subtracts some amount from the original value and sets the original value to the result.
*= *= (Multiply Assignment) (Transact-SQL) (= [Asignación de multiplicación] [Transact-SQL])*= (Multiply Assignment) (Transact-SQL) Multiplica por una cantidad y establece el valor original en el resultado de la operación.Multiplies by an amount and sets the original value to the result.
/= (Divide Assignment) (Transact-SQL)(Divide Assignment) (Transact-SQL) Divide por una cantidad y establece el valor original en el resultado de la operación.Divides by an amount and sets the original value to the result.
%= Modulus Assignment (Transact-SQL) (Asignación de módulo [Transact-SQL])Modulus Assignment (Transact-SQL) Divide por una cantidad y establece el valor original en el módulo.Divides by an amount and sets the original value to the modulo.
&= &= (Asignación de AND bit a bit) (Transact-SQL)&= (Bitwise AND Assignment) (Transact-SQL) Realiza una operación AND bit a bit y establece el valor original en el resultado de la operación.Performs a bitwise AND and sets the original value to the result.
^= ^= (Asignación de OR exclusivo bit a bit) (Transact-SQL)^= (Bitwise Exclusive OR Assignment) (Transact-SQL) Realiza una operación OR exclusiva bit a bit y establece el valor original en el resultado de la operación.Performs a bitwise exclusive OR and sets the original value to the result.
|=|= |= (Bitwise OR Assignment) (Transact-SQL) (|= [Asignación de OR bit a bit] [Transact-SQL])|= (Bitwise OR Assignment) (Transact-SQL) Realiza una operación OR bit a bit y establece el valor original en el resultado de la operación.Performs a bitwise OR and sets the original value to the result.

SintaxisSyntax

  
expression operator expression  

ArgumentosArguments

expressionexpression
Cualquier expresión válida de uno de los tipos de datos de la categoría numérica.Is any valid expression of any one of the data types in the numeric category.

Tipos de resultadoResult Types

Devuelve el tipo de datos del argumento con mayor prioridad.Returns the data type of the argument with the higher precedence. Para obtener más información, vea Prioridad de tipo de datos (Transact-SQL).For more information, see Data Type Precedence (Transact-SQL).

NotasRemarks

Para obtener más información, consulte los temas relacionados con cada operador.For more information, see the topics related to each operator.

EjemplosExamples

En los ejemplos siguientes, se muestran las operaciones compuestas.The following examples demonstrate compound operations.

DECLARE @x1 int = 27;  
SET @x1 += 2 ;  
SELECT @x1 AS Added_2;  
  
DECLARE @x2 int = 27;  
SET @x2 -= 2 ;  
SELECT @x2 AS Subtracted_2;  
  
DECLARE @x3 int = 27;  
SET @x3 *= 2 ;  
SELECT @x3 AS Multiplied_by_2;  
  
DECLARE @x4 int = 27;  
SET @x4 /= 2 ;  
SELECT @x4 AS Divided_by_2;  
  
DECLARE @x5 int = 27;  
SET @x5 %= 2 ;  
SELECT @x5 AS Modulo_of_27_divided_by_2;  
  
DECLARE @x6 int = 9;  
SET @x6 &= 13 ;  
SELECT @x6 AS Bitwise_AND;  
  
DECLARE @x7 int = 27;  
SET @x7 ^= 2 ;  
SELECT @x7 AS Bitwise_Exclusive_OR;  
  
DECLARE @x8 int = 27;  
SET @x8 |= 2 ;  
SELECT @x8 AS Bitwise_OR;  
  

Consulte tambiénSee Also

Operadores (Transact-SQL) Operators (Transact-SQL)
Operadores bit a bit (Transact-SQL)Bitwise Operators (Transact-SQL)