Numérique/Décimal sont des types de données à précision fixe. Il stockera les valeurs avec une précision exacte et mettra à l'échelle ce que vous avez défini.
Si vous avez besoin de stocker des données où une petite différence n'a pas d'importance, vous pouvez utiliser Float ou Real. Mais si vous avez besoin de données exactes, par exemple pour une application financière. Vous devez utiliser le type de données numérique/décimal ou monétaire pour enregistrer des données exactes, car une petite différence peut avoir un impact sur les calculs.
Exemple :
Déclarons deux variables et enregistrons les mêmes données et voyons ce qui arrive à la sortie en raison de leur type de données.
DECLARE @DecimalVariable DECIMAL(8, 2)SET @DecimalVariable =213429.95DECLARE @FloatVariable FLOAT (24)SET @FloatVariable =213429.95SELECT @DecimalVariable AS DecimalVariable ,@FloatVariable AS FloatVariable
Différence entre flottant et décimal/numérique dans SQL Server - Tutoriel T SQL Comme nous pouvons le voir dans l'instantané ci-dessus, Decimal a stocké et affiché des valeurs exactes et là où nous avons enregistré des valeurs dans un flotteur, il a arrondi les valeurs.
Comme les types de données float/real sont des types de données approximatifs, évitez de les utiliser en utilisant la clause Where spécialement avec les opérateurs =ou <>.