Operatori unari - Positivi (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 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 dei tipi di dati nella categoria dei tipi di dati numerici, ad eccezione dei tipi di dati datetime e smalldatetime.
Tipi restituiti
Restituisce il tipo di dati di numeric_expression.
Osservazioni:
Sebbene sia possibile aggiungere un operatore più unario prima di qualsiasi espressione numerica, in questo caso non viene eseguita alcuna operazione sul valore restituito dall'espressione. In particolare, non restituisce il valore positivo di un'espressione negativa. Per restituire il valore positivo di un'espressione negativa, usare la funzione ABS.
Esempi
R. Impostare una variabile su un valore positivo
Nell'esempio seguente una variabile viene impostata su un valore positivo.
USE tempdb;
GO
DECLARE @MyNumber DECIMAL(10, 2);
SET @MyNumber = + 123.45;
SELECT @MyNumber AS PositiveValue;
GO
Il set di risultati è il seguente.
PositiveValue
--------------
123.45
B. Usare l'operatore unario più con un valore negativo
Nell'esempio seguente viene illustrato l'uso del segno più unario con un'espressione negativa e la funzione ABS sulla stessa espressione negativa. Il plus unario non influisce sull'espressione, ma la ABS()
funzione restituisce il valore positivo dell'espressione.
USE tempdb;
GO
DECLARE @Num1 INT;
SET @Num1 = -5;
SELECT + @Num1 AS NegativeValue,
ABS(@Num1) AS PositiveValue;
GO
Il set di risultati è il seguente.
NegativeValue PositiveValue
-------------- --------------
-5 5