ABS (Transact-SQL)
指定した数値式の絶対値 (正値) を返す数学関数です。
構文
ABS ( numeric_expression )
引数
- numeric_expression
真数型または概数型の式を指定します。
戻り値の型
numeric_expression と同じ型が返されます。
使用例
次の例では、3 つの異なる値に対して 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 に変換中に演算のオーバーフロー エラーが発生しました"