Unäre Operatoren – Positiv (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric

Gibt den Wert eines numerischen Ausdrucks zurück (ein unärer Operator). Unäre Operatoren führen eine Operation mit nur einem Ausdruck eines beliebigen Datentyps der numerischen Datentypkategorie aus.

Operator Bedeutung
+ (unär positiv) Numerischer Wert ist positiv.
- (Unär negativ) Numerischer Wert ist negativ.
~ (Bitweises NOT) Gibt die Ergänzung der Zahl zurück.

Die + Operatoren (positiv) und - (negativ) können für jeden Ausdruck eines der Datentypen der Kategorie numerischer Datentypen verwendet werden. Der ~ (bitweise NOT) Operator kann nur für Ausdrücke eines der Datentypen für ganze Zahlen verwendet werden.

Transact-SQL-Syntaxkonventionen

Syntax

+ numeric_expression

Argumente

numeric_expression

Ein beliebiger gültiger Ausdruck eines der Datentypen in der Kategorie numerischer Datentypen, mit Ausnahme der Datentypen "datetime " und "smalldatetime ".

Rückgabetypen

Gibt den Datentyp von numeric_expressionzurück.

Bemerkungen

Obwohl ein unäres Plus vor jedem numerischen Ausdruck angezeigt werden kann, führt es keinen Vorgang mit dem Wert aus, der von dem Ausdruck zurückgegeben wird. Insbesondere gibt er den positiven Wert eines negativen Ausdrucks nicht zurück. Verwenden Sie zum Zurückgeben des positiven Werts eines negativen Ausdrucks die ABS-Funktion.

Beispiele

A. Festlegen einer Variablen auf einen positiven Wert

Im folgenden Beispiel wird eine Variable auf einen positiven Wert festgelegt.

USE tempdb;
GO

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

SELECT @MyNumber AS PositiveValue;
GO

Hier sehen Sie das Ergebnis.

PositiveValue
--------------
123.45

B. Verwenden des Unary Plus-Operators mit einem negativen Wert

Das folgende Beispiel zeigt die Verwendung des unären Pluszeichens mit einem negativen Ausdruck und der ABS-Funktion für denselben negativen Ausdruck. Das unäre Plus wirkt sich nicht auf den Ausdruck aus, aber die ABS() Funktion gibt den positiven Wert des Ausdrucks zurück.

USE tempdb;
GO

DECLARE @Num1 INT;
SET @Num1 = -5;

SELECT + @Num1 AS NegativeValue,
    ABS(@Num1) AS PositiveValue;
GO

Hier sehen Sie das Ergebnis.

NegativeValue  PositiveValue
-------------- --------------
-5             5