Bagikan melalui


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

Jenis yang dikembalikan

Mengembalikan jenis data numeric_expression, kecuali bahwa ekspresi tinyint yang tidak ditandatangani dipromosikan ke hasil smallint yang ditandatangani.

Contoh

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

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

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

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

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

C. Mengembalikan negatif dari konstanta positif

Contoh berikut mengembalikan negatif dari konstanta positif.

USE ssawPDW;
GO

SELECT TOP (1) - 17 FROM DimEmployee;

Berikut adalah hasil yang ditetapkan.

-17

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

USE ssawPDW;
GO

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

Berikut adalah hasil yang ditetapkan.

-17

D. Mengembalikan positif konstanta negatif

Contoh berikut mengembalikan positif konstanta negatif.

USE ssawPDW;
GO

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

Berikut adalah hasil yang ditetapkan.

-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;