本文件已封存並已停止維護。

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,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 時發生算術溢位錯誤。」

版本 歷程記錄

2006 年 7 月 17 日

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