共用方式為


ABS(Transact-SQL)

適用於:SQL ServerAzure SQL 資料庫Azure SQL 受控執行個體Azure Synapse Analytics分析平台系統(PDW)Microsoft Fabric 中的 SQL 分析端點Microsoft Fabric 中的倉儲Microsoft Fabric 中的 SQL 資料庫

為數學函數,可傳回指定數值運算式的絕對 (正) 值。 (ABS 可將負值變更為正值。ABS 對零或正值沒有任何影響。)

Transact-SQL 語法慣例

語法

ABS ( numeric_expression )  

引數

numeric_expression
精確數值或近似數值資料型別類別目錄的運算式。

傳回類型

傳回類型取決於numeric_expression輸入類型:

輸入類型 傳回類型
floatreal float
十進位(ps 十進位(38,s
intsmallinttinyint int
bigint bigint
moneysmallmoney money
bit float

如果結果不符合傳回型別,就會發生算術溢位錯誤。

範例

此範例顯示在三個不同數字上使用 ABS 函數的結果。

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

結果集如下所示。

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

當數字的絕對值超過所指定資料型別能表示的最大數字時,ABS 函數可能會產生溢位錯誤。 例如,int 資料型別值的範圍在 -2,147,483,6482,147,483,647。 計算帶正負號整數 -2,147,483,648 的絕對值會造成溢位錯誤,因為其絕對值超過 int 資料型別的正數範圍限制。

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

傳回此錯誤訊息:

「訊息 8115,層級 16,狀態 2,行 3」

「轉換運算式到資料類型 int 時發生算術溢位錯誤。」

另請參閱

CAST 和 CONVERT (Transact-SQL)
資料類型 (Transact-SQL)
數學函數 (Transact-SQL)
內建函數 (Transact-SQL)