Bagikan melalui


ABS (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

Fungsi matematika yang mengembalikan nilai absolut (positif) dari ekspresi numerik yang ditentukan. (ABS mengubah nilai negatif menjadi nilai positif. ABS tidak berpengaruh pada nilai nol atau positif.)

Konvensi sintaks transact-SQL

Sintaks

ABS ( numeric_expression )  

Argumen

numeric_expression
Ekspresi kategori jenis data numerik atau perkiraan numerik yang tepat.

Jenis yang dikembalikan

Jenis pengembalian tergantung pada jenis input numeric_expression:

Jenis input Tipe hasil
float, nyata float
desimal(p, s) desimal(38, dtk)
int, smallint, tinyint int
bigint bigint
uang, smallmoney uang
bit float

Jika hasilnya tidak pas dalam jenis pengembalian, kesalahan luapan aritmatika terjadi.

Contoh

Contoh ini menunjukkan hasil penggunaan ABS fungsi pada tiga angka yang berbeda.

SELECT ABS(-1.0), ABS(0.0), ABS(1.0);  

Berikut set hasilnya.

---- ---- ----  
1.0  .0   1.0  

Fungsi ABS ini dapat menghasilkan kesalahan luapan ketika nilai absolut angka melebihi angka terbesar yang dapat diwakili oleh jenis data yang ditentukan. Misalnya, int jenis data memiliki rentang nilai dari -2,147,483,648 ke 2,147,483,647. Menghitung nilai absolut untuk bilangan bulat -2,147,483,648 yang ditandatangani akan menyebabkan kesalahan luapan karena nilai absolutnya melebihi batas rentang positif untuk int jenis data.

DECLARE @i INT;  
SET @i = -2147483648;  
SELECT ABS(@i);  
GO  

Mengembalikan pesan kesalahan ini:

"Msg 8115, Level 16, State 2, Line 3"

"Aritmatika overflow error mengonversi ekspresi ke data jenis int."

Lihat juga

CAST dan CONVERT (Transact-SQL)
Tipe Data (Transact-SQL)
Fungsi Matematika (SQL Transact)
Fungsi Bawaan (Transact-SQL)