Unäre Operatoren – Negativ (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 negativen Wert eines numerischen Ausdrucks zurück (einen unären 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 der Kategorie "numerischer Datentyp" mit Ausnahme der Kategorie "Datum und Uhrzeit".

Rückgabetypen

Gibt einen Wert vom Datentyp numeric_expression zurück, wobei jedoch ein tinyint-Ausdruck ohne Vorzeichen zu einem smallint-Ergebnis mit Vorzeichen heraufgestuft wird.

Beispiele

A. Festlegen einer Variablen auf einen negativen Wert

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

USE tempdb;
GO

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

SELECT @MyNumber AS NegativeValue;
GO

Hier sehen Sie das Ergebnis.

NegativeValue
--------------
-123.45

B. Ändern einer Variablen in einen negativen Wert

Im folgenden Beispiel wird eine Variable in einen negativen Wert geändert.

USE tempdb;
GO

DECLARE @Num1 INT;
SET @Num1 = 5;

SELECT @Num1 AS VariableValue,
    -@Num1 AS NegativeValue;
GO

Hier sehen Sie das Ergebnis.

VariableValue NegativeValue
------------- -------------
5             -5

Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)

Die Transact-SQL-Codebeispiele in diesem Artikel verwenden die AdventureWorks2022- oder AdventureWorksDW2022-Beispieldatenbank, die Sie von der Homepage Microsoft SQL Server Samples and Community Projects herunterladen können.

C. Zurückgeben des Negativen einer positiven Konstante

Im folgenden Beispiel wird der negative Wert einer positiven Konstante zurückgegeben.

USE ssawPDW;
GO

SELECT TOP (1) - 17 FROM DimEmployee;

Hier sehen Sie das Ergebnis.

-17

Beachten Sie dasselbe Ergebnis, das zurückgegeben wird, als ob das unäre Negative auf einen Wert mit unären Unary-Operatoren angewendet wird – Positiv angewendet wird.

USE ssawPDW;
GO

SELECT TOP (1) - (+ 17)
FROM DimEmployee;

Hier sehen Sie das Ergebnis.

-17

D: Zurückgeben des Positiven einer negativen Konstante

Im folgenden Beispiel wird der positive Wert einer negativen Konstante zurückgegeben.

USE ssawPDW;
GO

SELECT TOP (1) - (- 17)
FROM DimEmployee;

Hier sehen Sie das Ergebnis.

-17

E. Zurückgeben des Negativen einer Spalte

Das unäre Negative kehrt den numerischen Operator der Werte einer Spalte um. Daher werden die negativen Werte aus positiven Werten zurückgegeben, und positive Werte werden von negativen Werten zurückgegeben.

Im folgenden Beispiel wird der negative Wert des BaseRate-Werts für jeden Mitarbeiter in der DimEmployee-Tabelle zurückgegeben.

USE ssawPDW;
GO

SELECT - BaseRate
FROM DimEmployee;