Condividi tramite


Operatori unari - Positivi (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 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 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