Bagikan melalui


Operator unary - Positif (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistem Platform Analitik (PDW)Titik akhir analitik SQL di Microsoft FabricGudang di Microsoft FabricDatabase SQL di Microsoft Fabric

Mengembalikan nilai ekspresi numerik (operator unary). Operator unary hanya melakukan operasi pada satu ekspresi salah satu jenis data dari kategori jenis data numerik.

Operator Meaning
+ (Positif unary) Nilai numerik positif.
- (Unary negatif) Nilai numerik negatif.
~ (Bitwise TIDAK) Mengembalikan pelengkap angka.

Operator + (positif) dan - (negatif) dapat digunakan pada ekspresi apa pun dari salah satu jenis data dari kategori jenis data numerik. Operator ~ (bitwise NOT) hanya dapat digunakan pada ekspresi salah satu jenis data dari kategori jenis data bilangan bulat.

Konvensi sintaks transact-SQL

Syntax

+ numeric_expression

Arguments

numeric_expression

Ekspresi valid apa pun dari salah satu jenis data dalam kategori jenis data numerik, kecuali jenis data tanggalwaktu dan smalldatetime.

Tipe pengembalian

Mengembalikan tipe data numeric_expression.

Remarks

Meskipun nilai tambah unary dapat muncul sebelum ekspresi numerik apa pun, ia tidak melakukan operasi pada nilai yang dikembalikan dari ekspresi. Secara khusus, ini tidak mengembalikan nilai positif ekspresi negatif. Untuk mengembalikan nilai positif ekspresi negatif, gunakan fungsi ABS .

Examples

A. Mengatur variabel ke nilai positif

Contoh berikut mengatur variabel ke nilai positif.

USE tempdb;
GO

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

SELECT @MyNumber AS PositiveValue;
GO

Berikut set hasilnya.

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

B. Menggunakan operator unary plus dengan nilai negatif

Contoh berikut menunjukkan penggunaan unary plus dengan ekspresi negatif dan fungsi ABS pada ekspresi negatif yang sama. Unary plus tidak memengaruhi ekspresi, tetapi ABS() fungsi mengembalikan nilai positif ekspresi.

USE tempdb;
GO

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

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

Berikut set hasilnya.

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