Operatori unari - Negativo (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW) Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric

Restituisce il valore negativo del valore di un'espressione numerica (operatore unario). Gli operatori unari eseguono un'operazione in una sola espressione di un tipo di dati della categoria numerici.

Operatore significato
+ (positivo unario) Valore numerico positivo.
- (negativo unario) Valore numerico negativo.
~ (NOT bit per bit) Restituisce il complemento del numero.

Gli + operatori (positivi) e - (negativi) possono essere usati in qualsiasi espressione di qualsiasi tipo di dati della categoria di tipi di dati numerici. L'operatore ~ (bit per NOTbit ) può essere usato solo sulle espressioni di uno dei tipi di dati della categoria di tipi di dati integer.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

- numeric_expression

Argomenti

numeric_expression

Qualsiasi espressione valida di uno qualsiasi dei tipi di dati della categoria di tipi di dati numerici, ad eccezione della categoria data e ora.

Tipi restituiti

Restituisce il tipo di dati di numeric_expression, con la sola eccezione che un'espressione di tipo tinyint senza segno viene promossa e convertita in un risultato smallint con segno.

Esempi

R. Impostare una variabile su un valore negativo

Nell'esempio seguente viene impostata una variabile su un valore negativo.

USE tempdb;
GO

DECLARE @MyNumber DECIMAL(10, 2);
SET @MyNumber = -123.45;

SELECT @MyNumber AS NegativeValue;
GO

Il set di risultati è il seguente.

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

B. Modificare una variabile in un valore negativo

Nell'esempio seguente viene modificata una variabile su un valore negativo.

USE tempdb;
GO

DECLARE @Num1 INT;
SET @Num1 = 5;

SELECT @Num1 AS VariableValue,
    -@Num1 AS NegativeValue;
GO

Il set di risultati è il seguente.

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

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

Gli esempi di codice Transact-SQL in questo articolo utilizzano il database campione AdventureWorks2022 o AdventureWorksDW2022, che è possibile scaricare dalla home page di Esempi di Microsoft SQL Server e progetti collettivi.

C. Restituisce il valore negativo di una costante positiva

Nell'esempio seguente viene restituito il valore negativo di una costante positiva.

USE ssawPDW;
GO

SELECT TOP (1) - 17 FROM DimEmployee;

Il set di risultati è il seguente.

-17

Si noti lo stesso risultato restituito come se il negativo unario venga applicato a un valore con operatori unari unari - Positivo applicato.

USE ssawPDW;
GO

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

Il set di risultati è il seguente.

-17

D. Restituisce il positivo di una costante negativa

Nell'esempio seguente viene restituito il valore positivo di una costante negativa.

USE ssawPDW;
GO

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

Il set di risultati è il seguente.

-17

E. Restituisce il valore negativo di una colonna

Il negativo unario inverte l'operatore numerico dei valori di una colonna. Di conseguenza, i valori negativi vengono restituiti da valori positivi e i valori positivi vengono restituiti da valori negativi.

Nell'esempio seguente viene restituito il valore negativo del valore BaseRate per ogni dipendente nella tabella DimEmployee.

USE ssawPDW;
GO

SELECT - BaseRate
FROM DimEmployee;