Operadores unarios: negativo

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Devuelve el valor negativo 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) El valor numérico es positivo.
- (Negativo) El valor numérico es negativo.
~ (NOT bit a bit) Devuelve los bits complementarios del número.

Los operadores + (Positivo) y - (Negativo) se pueden utilizar en cualquier expresión de cualquiera de los tipos de datos de la categoría del tipo de datos numérico. El operador ~ (NOT bit a bit) solo se puede utilizar en expresiones de cualquiera de los tipos de datos de la categoría del tipo de datos entero.

Convenciones de sintaxis de Transact-SQL

Sintaxis

- numeric_expression  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

numeric_expression
Es cualquier expresión válida de cualquiera de los tipos de datos de la categoría del tipo de datos numérico, a excepción de la categoría de fecha y hora.

Tipos de resultado

Devuelve el tipo de datos de expresión_numérica, excepto si se trata de una expresión tinyint sin signo que se promueve a un resultado smallint con signo.

Ejemplos

A. Establecer una variable con un valor negativo

En el ejemplo siguiente se establece una variable con un valor negativo.

USE tempdb;  
GO  
DECLARE @MyNumber DECIMAL(10,2);  
SET @MyNumber = -123.45;  
SELECT @MyNumber AS NegativeValue;  
GO  

El conjunto de resultados es el siguiente:

NegativeValue  
---------------------------------------  
-123.45  
  
(1 row(s) affected)  
  

B. Cambiar una variable a un valor negativo

En el ejemplo siguiente se cambia una variable a un valor negativo.

USE tempdb;  
GO  
DECLARE @Num1 INT;  
SET @Num1 = 5;  
SELECT @Num1 AS VariableValue, -@Num1 AS NegativeValue;  
GO  

El conjunto de resultados es el siguiente:

VariableValue NegativeValue  
------------- -------------  
5             -5  
  
(1 row(s) affected)  
  

Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)

C. Devolución del valor negativo de una constante positiva

En el ejemplo siguiente se devuelve el valor negativo de una constante positiva.

USE ssawPDW;  
  
SELECT TOP (1) - 17 FROM DimEmployee;  

Devoluciones

-17  

D. Devolución del valor positivo de una constante negativa

En el ejemplo siguiente se devuelve el valor positivo de una constante negativa.

USE ssawPDW;  
  
SELECT TOP (1) - ( - 17) FROM DimEmployee;  

Devoluciones

17  

E. Devolución del valor negativo de una columna

En el ejemplo siguiente se devuelve el valor negativo del valor BaseRate de cada empleado de la tabla dimEmployee.

USE ssawPDW;  
  
SELECT - BaseRate FROM DimEmployee;  

Consulte también

Tipos de datos (Transact-SQL)
Expresiones (Transact-SQL)
Operadores (Transact-SQL)