Dela via


Unary operatorer – Positiv (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 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 datatyperna datetime och smalldatetime .

Return types

Returnerar datatypen för numeric_expression.

Remarks

Även om ett unary plus kan visas före ett numeriskt uttryck, utför det ingen åtgärd på det värde som returneras från uttrycket. Mer specifikt returnerar det inte det positiva värdet för ett negativt uttryck. Om du vill returnera ett positivt värde för ett negativt uttryck använder du FUNKTIONEN ABS .

Examples

A. Ange en variabel till ett positivt värde

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

USE tempdb;
GO

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

SELECT @MyNumber AS PositiveValue;
GO

Här är resultatet.

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

B. Använd unary plus-operatorn med ett negativt värde

I följande exempel visas hur du använder unary plus med ett negativt uttryck och ABS-funktionen i samma negativa uttryck. Det unary plus påverkar inte uttrycket, men ABS() funktionen returnerar det positiva värdet för uttrycket.

USE tempdb;
GO

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

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

Här är resultatet.

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