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.)
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)