Numeriska/decimaler är fasta precisionsdatatyper. Den kommer att lagra värdena med exakt precision och skala det du har definierat.
Om du behöver lagra data där liten skillnad inte spelar någon roll, kan du använda Float eller Real. Men om du behöver ha exakta uppgifter som för ekonomisk tillämpning. Du bör använda datatyp numerisk/decimal eller pengar för att spara exakta data, eftersom små skillnader kan påverka beräkningarna.
Exempel:
Låt oss deklarera två variabler och spara samma data och se vad som händer med utdata på grund av datatypen för 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
Skillnaden mellan Float och Decimal/Numeric i SQL Server - T SQL Tutorial
Som vi kan se i ögonblicksbilden ovan, lagrade och visade Decimal exakta värden och där vi har sparat värden i float, avrundade det värdena.
Eftersom flytande/ verkliga datatyper är ungefärliga datatyper, Undvik att använda dem med hjälp av Where-satsen speciellt med =eller <> operatorer.