DBAtlas · データベース運用アトラス

8115: Arithmetic overflow error converting expression to data type(式のデータ型への変換で算術オーバーフロー)

SQL Server

意味

算術演算または変換で生成された値が、対象データ型が保持できる範囲を超えた。数値が大きすぎるためオーバーフローが発生した。

原因

int の範囲を超える合計/積 (SUM)、小さい型の列への大きな値の代入、decimal の精度/位取りの不足、または IDENTITY 値が型の上限に到達。

対処方法

中間計算にはより広い型を使う (例: CAST(my_column AS bigint) で SUM する)。decimal の精度/位取りを増やす。データに合わせて列の型を大きくする。オーバーフローのおそれがある式は計算前に変換し、入力範囲を制限する。

DBAtlas で開く →

同じデータベースの他の項目