Aracılığıyla paylaş


ABS (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Belirtilen sayısal ifadenin mutlak (pozitif) değerini döndüren matematiksel bir fonksiyondur. (ABS negatif değerleri pozitif değerlere çevirir. ABS sıfır veya pozitif değerler üzerinde etkisi yoktur.)

Transact-SQL söz dizimi kuralları

Sözdizimi

ABS ( numeric_expression )  

Arguments

numeric_expression
Tam sayısal veya yaklaşık sayısal veri türü kategorisinin bir ifadesi.

Dönüş türleri

Dönüş türü, numeric_expression giriş türüne bağlıdır:

Giriş türü Dönüş türü
Float, gerçek float
ondalık (p, s) ondalık (38, s)
int, küçük,tinyint int
bigint bigint
para, smallmoney para
bit float

Sonuç dönüş türüne uymazsa, aritmetik taşma hatası oluşur.

Örnekler

Bu örnek, fonksiyonun ABS üç farklı sayı üzerinde kullanılmasının sonuçlarını gösterir.

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

Sonuç kümesi aşağıdadır.

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

Fonksiyon ABS , bir sayının mutlak değeri, belirtilen veri türünün temsil edebileceği en büyük sayıyı aştığında taşma hatası üretebilir. Örneğin, veri tipinin int değer aralığı ' -2,147,483,648 den 'a 2,147,483,647'den 'ye. İmzalı tam -2,147,483,648 sayı için mutlak değerin hesaplanması, mutlak değeri veri tipinin pozitif aralık sınırını int aştığı için taşma hatasına yol açar.

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

Şu hata mesajını döndürüyor:

"Mesaj 8115, Kat 16, Durum 2, Hat 3"

"Aritmetik taşma hatası ifade veri tipine dönüştürülüyor int."

Ayrıca bakınız

CAST ve CONVERT (Transact-SQL)
Veri Türleri (Transact-SQL)
Matematiksel Fonksiyonlar (Transact-SQL)
Yerleşik İşlevler (Transact-SQL)