Numeric/Decimal jsou datové typy s pevnou přesností. Uloží hodnoty s přesnou přesností a škáluje to, co jste definovali.
Pokud potřebujete ukládat data tam, kde nezáleží na malých rozdílech, můžete použít Float nebo Real. Pokud ale potřebujete mít přesná data např. pro finanční aplikaci. K uložení přesných dat byste měli používat datový typ Numeric/Decimal nebo Money, protože malý rozdíl může ovlivnit výpočty.
Příklad:
Pojďme deklarovat dvě proměnné a uložit stejná data a uvidíme, co se stane s výstupem kvůli jejich datovému typu.
DECLARE @DecimalVariable DECIMAL(8, 2) SET @DecimalVariable = 213429.95 DECLARE @FloatVariable FLOAT(24) SET @FloatVariable = 213429.95 SELECT @DecimalVariable AS DecimalVariable ,@FloatVariable AS FloatVariable

Protože datové typy float/real jsou přibližné datové typy, nepoužívejte je v klauzuli Where speciálně s operátory =nebo <>.