ABS (Transact-SQL)

為數學函數,可傳回指定數值運算式的絕對 (正) 值。

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

語法

ABS ( numeric_expression )

引數

  • numeric_expression
    這是精確數值或近似數值資料類型類別目錄的運算式,但 bit 資料類型除外。

傳回類型

傳回與 numeric_expression 相同的類型。

範例

下列範例顯示在三個不同數值使用 ABS 函數的結果。

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

以下為結果集:

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

當數值的絕對值大於可用特定資料類型來表示的最大數值時,ABS 函數會產生溢位錯誤。例如,int 資料類型只接受2,147,483,648 到 2,147,483,647 範圍的值。計算帶正負號之整數 2,147,483,648 的絕對值會產生溢位錯誤,因為其絕對值大於 int 資料類型的正數範圍。

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

錯誤訊息如下:

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

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