Dela via


Unary operatorer – Negativ (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Förhandsversion av Microsoft Fabric

Returnerar det negativa värdet för ett numeriskt uttryck (en unary-operator). Unary-operatorer utför en åtgärd på endast ett uttryck för någon av datatyperna i kategorin numerisk datatyp.

Operator Meaning
+ (Unary positiv) Numeriskt värde är positivt.
- (Unary negativ) Numeriskt värde är negativt.
~ (Bitvis INTE) Returnerar ettornas komplement av talet.

Operatorerna + (positiva) och - (negativa) kan användas för valfritt uttryck för någon av datatyperna i kategorin numerisk datatyp. Operatorn ~ (bitvis NOT) kan endast användas för uttryck för någon av datatyperna i kategorin heltalsdatatyp.

Transact-SQL syntaxkonventioner

Syntax

- numeric_expression

Arguments

numeric_expression

Ett giltigt uttryck för någon av datatyperna i kategorin numerisk datatyp, förutom datum- och tidskategorin.

Return types

Returnerar datatypen för numeric_expression, förutom att ett osignerat tinyint-uttryck befordras till ett signerat smallint-resultat .

Examples

A. Ange en variabel till ett negativt värde

I följande exempel anges en variabel till ett negativt värde.

USE tempdb;
GO

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

SELECT @MyNumber AS NegativeValue;
GO

Här är resultatet.

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

B. Ändra en variabel till ett negativt värde

I följande exempel ändras en variabel till ett negativt värde.

USE tempdb;
GO

DECLARE @Num1 INT;
SET @Num1 = 5;

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

Här är resultatet.

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

Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)

Kodexemplen i den här artikeln använder AdventureWorks2022- eller AdventureWorksDW2022-exempeldatabasen, som du kan ladda ned från startsidan Microsoft SQL Server Samples och Community Projects.

C. Returnera det negativa av en positiv konstant

I följande exempel returneras negativ för en positiv konstant.

USE ssawPDW;
GO

SELECT TOP (1) - 17 FROM DimEmployee;

Här är resultatet.

-17

Samma resultat returneras som om det unary negativa tillämpas på ett värde med unary Unary operatorer - Positiv tillämpas.

USE ssawPDW;
GO

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

Här är resultatet.

-17

D. Returnera positiva negativa konstanter

I följande exempel returneras positiva negativa konstanter.

USE ssawPDW;
GO

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

Här är resultatet.

17

E. Returnera det negativa för en kolumn

Det unary negativa vänder den numeriska operatorn för en kolumns värden. Därför returneras de negativa värdena från positiva värden och positiva värden returneras från negativa värden.

I följande exempel returneras värdets BaseRate negativa värde för varje anställd i DimEmployee tabellen.

USE ssawPDW;
GO

SELECT - BaseRate
FROM DimEmployee;