次の方法で共有


ABS (Transact-SQL)

更新 : 2006 年 7 月 17 日

指定した数値式の絶対値 (正値) を返す数学関数です。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

ABS ( numeric_expression )

引数

  • numeric_expression
    bit 型を除く、真数型または概数型の式を指定します。

戻り値の型

numeric_expression と同じ型が返されます。

次の例では、3 つの異なる値に対して 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 日

変更内容 :
  • オーバーフロー エラーを説明する例を修正。