Числови/десетични са типове данни с фиксирана точност. Той ще съхрани стойностите с точна точност и мащаб, който сте дефинирали.
Ако трябва да съхранявате данни, където малка разлика няма значение, можете да използвате Float или Real. Но ако трябва да имате точни данни като за финансово приложение. Трябва да използвате тип данни числови/десетични или пари, за да запазите точни данни, тъй като малка разлика може да повлияе на изчисленията.
Пример:
Нека да декларираме две променливи и да запазим едни и същи данни и да видим какво се случва с изхода поради техния тип данни.
DECLARE @DecimalVariable DECIMAL(8, 2) SET @DecimalVariable = 213429.95 DECLARE @FloatVariable FLOAT(24) SET @FloatVariable = 213429.95 SELECT @DecimalVariable AS DecimalVariable ,@FloatVariable AS FloatVariable
Разлика между плаваща и десетична/числова в SQL Server - T SQL урок
Както можем да видим на снимката по-горе, Decimal съхранява и показва точни стойности и където сме запазили стойности във float, той закръгля стойностите.
Тъй като float/ реалните типове данни са приблизителни типове данни, избягвайте да ги използвате в клаузата Where, специално с =или <> оператори.