Operadores unarios: positivo (Transact-SQL)
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de análisis SQL en Microsoft Fabric
Warehouse en Microsoft Fabric
Base de datos SQL de Microsoft Fabric
Devuelve el valor de una expresión numérica (un operador unario). Los operadores unarios realizan una operación sobre una única expresión de cualquiera de los tipos de datos de la categoría del tipo de datos numérico.
Operator | Significado |
---|---|
+ (positivo unario) | El valor numérico es positivo. |
- (Negativo unario) | El valor numérico es negativo. |
~ (NOT bit a bit) | Devuelve el complemento de uno del número. |
Los +
operadores (positivos) y -
(negativos) se pueden usar en cualquier expresión de cualquiera de los tipos de datos de la categoría de tipo de datos numérico. El ~
operador (bit a bit NOT
) solo se puede usar en expresiones de cualquiera de los tipos de datos de la categoría de tipo de datos entero.
Convenciones de sintaxis de Transact-SQL
Sintaxis
+ numeric_expression
Argumentos
numeric_expression
Cualquier expresión válida de cualquiera de los tipos de datos de la categoría de tipo de datos numérico, excepto los tipos de datos datetime y smalldatetime.
Tipos de valores devueltos
Devuelve el tipo de datos de numeric_expression.
Comentarios
Aunque una suma unaria puede aparecer antes de cualquier expresión numérica, no realiza ninguna operación en el valor devuelto de la expresión. En concreto, no devuelve el valor positivo de una expresión negativa. Para devolver el valor positivo de una expresión negativa, use la función ABS.
Ejemplos
A Establecer una variable en un valor positivo
En el siguiente ejemplo se establece una variable en un valor positivo.
USE tempdb;
GO
DECLARE @MyNumber DECIMAL(10, 2);
SET @MyNumber = + 123.45;
SELECT @MyNumber AS PositiveValue;
GO
Este es el conjunto de resultados.
PositiveValue
--------------
123.45
B. Usar el operador unario más con un valor negativo
En el ejemplo siguiente se muestra el uso de la unaria más con una expresión negativa y la función ABS en la misma expresión negativa. El signo unario más no afecta a la expresión, pero la ABS()
función devuelve el valor positivo de la expresión.
USE tempdb;
GO
DECLARE @Num1 INT;
SET @Num1 = -5;
SELECT + @Num1 AS NegativeValue,
ABS(@Num1) AS PositiveValue;
GO
Este es el conjunto de resultados.
NegativeValue PositiveValue
-------------- --------------
-5 5