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句で特に=または<>演算子を使用して使用することは避けてください。