Sdílet prostřednictvím


Unární operátory – záporná (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrátí zápornou hodnotu číselného výrazu (unární operátor). Unární operátory provádějí operaci pouze s jedním výrazem libovolného z datových typů číselné kategorie datového typu.

Operator Meaning
+ (unární pozitivní) Číselná hodnota je kladná.
- (unární negativní) Číselná hodnota je záporná.
~ (Bitwise NE) Vrátí doplněk čísla.

Operátory + (kladné) a - (záporné) lze použít u libovolného výrazu libovolného datového typu kategorie číselného datového typu. Operátor ~ (bitwise NOT) lze použít pouze u výrazů libovolného z datových typů kategorie celočíselného datového typu.

Transact-SQL konvence syntaxe

Syntax

- numeric_expression

Arguments

numeric_expression

Libovolný platný výraz libovolného z datových typů číselné kategorie datového typu s výjimkou kategorie data a času.

Návratové typy

Vrátí datový typ numeric_expression s tím rozdílem, že nepodepsaný výraz tinyint je povýšen na podepsaný malýint výsledek.

Examples

A. Nastavení proměnné na zápornou hodnotu

Následující příklad nastaví proměnnou na zápornou hodnotu.

USE tempdb;
GO

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

SELECT @MyNumber AS NegativeValue;
GO

Tady je soubor výsledků.

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

B. Změna proměnné na zápornou hodnotu

Následující příklad změní proměnnou na zápornou hodnotu.

USE tempdb;
GO

DECLARE @Num1 INT;
SET @Num1 = 5;

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

Tady je soubor výsledků.

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

Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)

Ukázky kódu v tomto článku používají ukázkovou databázi AdventureWorks2025 nebo AdventureWorksDW2025, kterou si můžete stáhnout z domovské stránky Microsoft SQL Serveru pro ukázky a komunitní projekty .

C. Vrácení záporné hodnoty kladné konstanty

Následující příklad vrátí negativní hodnotu kladné konstanty.

USE ssawPDW;
GO

SELECT TOP (1) - 17 FROM DimEmployee;

Tady je soubor výsledků.

-17

Stejný výsledek se vrátí, jako kdyby se unární záporná použila na hodnotu s unárními unárními operátory – pozitivní .

USE ssawPDW;
GO

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

Tady je soubor výsledků.

-17

D. Vrátí pozitivní výsledek záporné konstanty.

Následující příklad vrátí kladnou zápornou konstantu.

USE ssawPDW;
GO

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

Tady je soubor výsledků.

17

E. Vrácení záporné hodnoty sloupce

Unární záporná funkce obrátí číselný operátor hodnot sloupce. Výsledkem je, že záporné hodnoty se vrátí z kladných hodnot a kladné hodnoty se vrátí z záporných hodnot.

Následující příklad vrátí zápornou hodnotu BaseRate pro každého zaměstnance v DimEmployee tabulce.

USE ssawPDW;
GO

SELECT - BaseRate
FROM DimEmployee;