データベースに格納される2つの数値は、精度が9に等しい10進数として格納されます。この2つの数値を加算してデータベースの値を更新します。SQLに10進数を加算すると、算術オーバーフローエラーが発生します。数字をデータ型数値に変換します。
DECLARE @v1 DECIMAL(9, 5), @v2 DECIMAL(9, 5)
SET @v1 = 9503.34000
SET @v2 = 1357.62000
SELECT CAST(@v1 + @v2 AS DECIMAL(9, 5))
私はSQLでこれを追加すると、それはそれは 10860.96000になり10,5にそれを変更するにはしかし、オーバーフローエラーがスローされます。
どのように私はSQLに、結果を追加して返すようにしたいのですか?私はこの合計が私に9,5 NOT 10,5を返すようにしたい。
あなたの合計の値が10'000を超えているため、** DECIMAL(9,5)にすることはできません - これは10進数で合計9桁で、そのうち5つは小数点の後に。小数点の前に4桁の数字が残っています。これはあなたの結果を保持するには不十分です**。 –
marcさん、ありがとう、私はデザインを変更する必要があることを認識しました – Signcodeindie