Bagikan melalui


Operator unary - Negatif (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 negatif dari 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 dari kategori jenis data numerik, kecuali kategori tanggal dan waktu.

Tipe pengembalian

Mengembalikan tipe data numeric_expression, kecuali bahwa ekspresi kecil yang tidak ditandatangani dipromosikan ke hasil smallint yang ditandatangani.

Examples

A. Mengatur variabel ke nilai negatif

Contoh berikut mengatur variabel ke nilai negatif.

USE tempdb;
GO

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

SELECT @MyNumber AS NegativeValue;
GO

Berikut set hasilnya.

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

B. Mengubah variabel menjadi nilai negatif

Contoh berikut mengubah variabel menjadi nilai negatif.

USE tempdb;
GO

DECLARE @Num1 INT;
SET @Num1 = 5;

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

Berikut set hasilnya.

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

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

Sampel kode dalam artikel ini menggunakan database sampel AdventureWorks2025 atau AdventureWorksDW2025, yang dapat Anda unduh dari halaman beranda Sampel dan Proyek Komunitas Microsoft SQL Server.

C. Mengembalikan negatif dari konstanta positif

Contoh berikut mengembalikan negatif dari konstanta positif.

USE ssawPDW;
GO

SELECT TOP (1) - 17 FROM DimEmployee;

Berikut set hasilnya.

-17

Hasil yang sama dikembalikan seolah-olah negatif unary diterapkan ke nilai dengan operator Unary Unary - Positif diterapkan.

USE ssawPDW;
GO

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

Berikut set hasilnya.

-17

D. Mengembalikan positif konstanta negatif

Contoh berikut mengembalikan positif konstanta negatif.

USE ssawPDW;
GO

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

Berikut set hasilnya.

17

E. Mengembalikan negatif kolom

Negatif unary membalikkan operator numerik dari nilai kolom. Akibatnya, nilai negatif dikembalikan dari nilai positif, dan nilai positif dikembalikan dari nilai negatif.

Contoh berikut mengembalikan nilai negatif BaseRate untuk setiap karyawan dalam DimEmployee tabel.

USE ssawPDW;
GO

SELECT - BaseRate
FROM DimEmployee;