Numeriek/decimaal zijn gegevenstypen met vaste precisie. Het slaat de waarden op met exacte precisie en schaalt wat u hebt gedefinieerd.
Als u gegevens wilt opslaan waar kleine verschillen er niet toe doen, kunt u Float of Real gebruiken. Maar als u exacte gegevens nodig heeft zoals voor financiële toepassing. U moet het gegevenstype Numeriek/Decimaal of Geld gebruiken om exacte gegevens op te slaan, aangezien kleine verschillen invloed kunnen hebben op berekeningen.
Voorbeeld:
Laten we twee variabelen declareren en dezelfde gegevens opslaan en kijken wat er met de uitvoer gebeurt vanwege het gegevenstype ervan.
DECLARE @DecimalVariable DECIMAL(8, 2) SET @DecimalVariable = 213429.95 DECLARE @FloatVariable FLOAT(24) SET @FloatVariable = 213429.95 SELECT @DecimalVariable AS DecimalVariable ,@FloatVariable AS FloatVariable
Verschil tussen zwevend en decimaal/numeriek in SQL Server - T SQL-zelfstudie
Zoals we in de bovenstaande momentopname kunnen zien, heeft Decimaal exacte waarden opgeslagen en weergegeven en waar we waarden in float hebben opgeslagen, heeft het de waarden afgerond.
Aangezien float/reële datatypes benaderende datatypes zijn, vermijd het gebruik ervan in de Where-clausule, speciaal met =of <> operators.