Numeric/Decimal are fixed precision data types. It will stored the values with exact precision and scale what you have defined.
If you need to store data where small difference does not matter, you can use Float or Real. But if you need to have exact data such as for financial application. You should be using Numeric/Decimal or Money data type to save exact data, as small difference can impact in calculations.
DECLARE @DecimalVariable DECIMAL(8, 2) SET @DecimalVariable = 213429.95 DECLARE @FloatVariable FLOAT(24) SET @FloatVariable = 213429.95 SELECT @DecimalVariable AS DecimalVariable ,@FloatVariable AS FloatVariable
As float/ real data types are approximate data types, Avoid using them using in Where clause specially with = or < > operators.