Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Piattaforma di analisi (PDW)
Endpoint di analisi SQL in Microsoft Fabric
Magazzino in Microsoft Fabric
Database SQL 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.
| Operator | Meaning |
|---|---|
| + (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
Syntax
- numeric_expression
Arguments
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, ad eccezione del fatto che un'espressione tinyint senza segno viene alzata di livello a un risultato smallint con segno.
Examples
A. 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 in questo articolo usano il database di esempio AdventureWorks2025 o AdventureWorksDW2025, che è possibile scaricare dalla home page Microsoft SQL Server Samples and Community Projects.
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
Lo stesso risultato viene 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;