Compartir por


Operadores unarios: negativo (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de SQL Analytics en Microsoft FabricAlmacén en Microsoft FabricBase de datos SQL 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 Meaning
+ (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

Syntax

- numeric_expression

Arguments

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 la categoría de fecha y hora.

Tipos de retorno

Devuelve el tipo de datos de numeric_expression, salvo que se promueve una expresión tinyint sin signo a un resultado smallint firmado.

Examples

A. Establecer una variable en 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

Este es el conjunto de resultados.

NegativeValue
--------------
-123.45

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

Este es el conjunto de resultados.

VariableValue NegativeValue
------------- -------------
5             -5

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

Los ejemplos de código de este artículo usan la base de datos de ejemplo de AdventureWorks2025 o AdventureWorksDW2025, que puede descargar de la página principal de Ejemplos de Microsoft SQL Server y proyectos de comunidad.

C. Devolver el negativo de una constante positiva

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

USE ssawPDW;
GO

SELECT TOP (1) - 17 FROM DimEmployee;

Este es el conjunto de resultados.

-17

El mismo resultado se devuelve como si el negativo unario se aplica a un valor con operadores unarios unarios - Positivo aplicado.

USE ssawPDW;
GO

SELECT TOP (1) - (+ 17)
FROM DimEmployee;

Este es el conjunto de resultados.

-17

D. Devolver el positivo de una constante negativa

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

USE ssawPDW;
GO

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

Este es el conjunto de resultados.

17

E. Devolver el negativo de una columna

El negativo unario invierte el operador numérico de los valores de una columna. Como resultado, los valores negativos se devuelven de valores positivos y los valores positivos se devuelven a partir de valores negativos.

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

USE ssawPDW;
GO

SELECT - BaseRate
FROM DimEmployee;