Operatori unari - Negativo (Transact-SQL)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure endpoint di analisi SQL di Azure Synapse Analytics Platform System (PDW) in Microsoft Fabric Warehouse nel database SQL di Microsoft Fabric 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 NOT
bit ) 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;