Numeric/Decimalは固定精度のデータ型です。正確な精度で値が保存され、定義した値がスケーリングされます。
小さな違いが問題にならない場所にデータを保存する必要がある場合は、FloatまたはRealを使用できます。ただし、財務アプリケーションなどの正確なデータが必要な場合。わずかな違いが計算に影響を与える可能性があるため、正確なデータを保存するには、Numeric/DecimalまたはMoneyデータ型を使用する必要があります。
例:
2つの変数を宣言し、同じデータを保存して、それらのデータ型が原因で出力がどうなるかを見てみましょう。
DECLARE @DecimalVariable DECIMAL(8, 2)
SET @DecimalVariable = 213429.95
DECLARE @FloatVariable FLOAT(24)
SET @FloatVariable = 213429.95
SELECT @DecimalVariable AS DecimalVariable
,@FloatVariable AS FloatVariable
SQLServerでのFloatとDecimal/Numericの違い-TSQLチュートリアル 上記のスナップショットでわかるように、Decimalは正確な値を格納して表示し、値をfloatに保存した場所では、値を丸めました。 float /実数データ型は近似データ型であるため、Where句で特に=または<>演算子を使用して使用することは避けてください。