Numeriske/decimaler er faste præcisionsdatatyper. Det vil gemme værdierne med nøjagtig præcision og skalere, hvad du har defineret.
Hvis du skal gemme data, hvor lille forskel ikke betyder noget, kan du bruge Float eller Real. Men hvis du skal have nøjagtige data, såsom til økonomisk anvendelse. Du bør bruge numerisk/decimal eller pengedatatype for at gemme nøjagtige data, da små forskelle kan påvirke beregningerne.
Eksempel:
Lad os erklære to variable og gemme de samme data og se, hvad der sker med output på grund af datatypen for dem.
DECLARE @DecimalVariable DECIMAL(8, 2) SET @DecimalVariable = 213429.95 DECLARE @FloatVariable FLOAT(24) SET @FloatVariable = 213429.95 SELECT @DecimalVariable AS DecimalVariable ,@FloatVariable AS FloatVariable
Forskellen mellem Float og Decimal/Numeric i SQL Server - T SQL Tutorial
Som vi kan se i ovenstående snapshot, gemte og viste Decimal nøjagtige værdier, og hvor vi har gemt værdier i float, rundede det værdierne.
Da flydende/reelle datatyper er omtrentlige datatyper, undgå at bruge dem ved at bruge i Where-sætning, specielt med =eller <> operatorer.