ABS (Transact-SQL)

更新: 2006 年 7 月 17 日

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

主題連結圖示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,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)

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 7 月 17 日

更新的內容:
  • 更正示範溢位錯誤的範例。