Operadores compuestos (Transact-SQL)
Los operadores compuestos ejecutan operaciones y establecen un valor original en el resultado de dichas operaciones. 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).
Transact-SQL proporciona los operadores compuestos siguientes:
Operador |
Más información |
Acción |
---|---|---|
+= |
Agrega una cantidad al valor original y establece este en el resultado de la operación. |
|
-= |
Resta una cantidad del valor original y establece este en el resultado de la operación. |
|
*= |
Multiplica por una cantidad y establece el valor original en el resultado de la operación. |
|
/= |
Divide por una cantidad y establece el valor original en el resultado de la operación. |
|
%= |
Divide por una cantidad y establece el valor original en el módulo. |
|
&= |
Realiza una operación AND bit a bit y establece el valor original en el resultado de la operación. |
|
^= |
Realiza una operación OR exclusiva bit a bit y establece el valor original en el resultado de la operación. |
|
|= |
Realiza una operación OR bit a bit y establece el valor original en el resultado de la operación. |
Sintaxis
expression operator expression
Argumentos
- expression
Cualquier expresión válida de uno de los tipos de datos de la categoría numérica.
Tipos de resultados
Devuelve el tipo de datos del argumento con mayor precedencia. Para obtener más información, vea Prioridad de tipo de datos (Transact-SQL).
Comentarios
Para obtener más información, consulte los temas relacionados con cada operador.
Ejemplos
En los ejemplos siguientes, se muestran las operaciones compuestas.
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;