1. ホーム
  2. sql-server

なぜSQL Serverはintをnumericデータ型に変換する際にArithmetic overflowエラーを投げるのですか?

2023-08-04 05:16:51

質問

以下のようなエラーが発生します。 SQL Server 管理スタジオ でこのコードを実行するとエラーが発生します。

declare @percentage numeric(3,2)
set @percentage = cast(15 as numeric(3,2))

という宣言がありますが、数値宣言を

declare @percentage numeric(4,2)
set @percentage = cast(15 as numeric(4,2))

はすべてうまくいく。

数値データ型に制限はありますか?

どのように解決するのですか?

Numericは、TOTALの桁数を定義し、小数点以下の数字を定義します。

numeric(3,2)は9.99までしか保持できません。