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