Bagikan melalui


Operator unary - Positif (Transact-SQL)

Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse 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 Makna
+ (Unary positive) Nilai numerik positif.
- (Unary negatif) Nilai numerik negatif.
~ (Bitwise NOT) 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

Sintaksis

+ numeric_expression

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

numeric_expression

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

Jenis yang dikembalikan

Mengembalikan tipe data numeric_expression.

Keterangan

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 .

Contoh

J. 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 adalah hasil yang ditetapkan.

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 adalah hasil yang ditetapkan.

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