ABS (Transact-SQL)

適用于:SQL Server (Azure SQL Database Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System ( PDW) 的所有支援) 版本

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

主題連結圖示Transact-SQL 語法慣例

Syntax

ABS ( numeric_expression )  

注意

若要檢視 SQL Server 2014 與更早版本的 Transact-SQL 語法,請參閱舊版文件

引數

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

傳回類型

傳回與 numeric_expression相同的類型。

範例

此範例顯示在三個不同數字上使用 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)