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. |
Se aplica a: SQL Server (desde SQL Server 2008 hasta la versión actual), Windows Azure SQL Database (desde la versión inicial hasta la versión actual). |
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;