誰もがなぜこれを言うことができます:@ decimal(4,3)= 10がSQL Serverでエラーを検出すると宣言します:
msg 8115レベル16の状態8行目の1の算術オーバーフローエラー。intをデータ型数値に変換しています
@Decimal decimal(4,3)= 10.0と宣言してもこのエラーが発生しました:
msg 8115レベル16の状態8行目1算術オーバーフローエラー数値をデータ型数値に変換しています
前もって感謝します
回答:
回答№1の場合は3小数点(4,3)は合計4桁、小数点以下3桁です。見る 小数および数値 SQL Serverのオンラインドキュメント、特に精度と規模について
-9.999〜+ 9.999の値を保持します。値10をサポートするには、小数点(5,3)を使用できます。
回答№2の場合は1
Rhysによって返されるように、小数点(m、n)は小数点の右側にn桁の合計m桁を格納できます。
だから小数点(4,3)は可能な範囲の値を持つ-99.999から+9.999、合計4桁、小数点以下3桁です。 10を格納するにはDecimal(5,3)を使用する必要がありますが、これによって99.999