50 votes

Différence betweeen DECIMAL et NUMERIC

Quelle est la différence entre le type de données SQL NUMERIC et DECIMAL ? Si les bases de données les traitent différemment, j'aimerais savoir comment au moins :

  • Serveur SQL
  • Oracle
  • Db/2
  • Mysql
  • Postgresql

En outre, y a-t-il des différences dans la façon dont les pilotes de base de données interprètent ces types?

42voto

David Points 12145

Ils sont les mêmes pour presque tous les usages.

À la fois de différents fournisseurs utilisé différents noms (Numérique/Décimal) pour presque la même chose. SQL-92, fait la même chose avec une petite différence qui peut être spécifique au vendeur:

NUMÉRIQUE doit être exactement aussi précis qu'il est défini - si l'on définit 4 décimales, la DB doit toujours conserver à 4 décimales.

DÉCIMAL doit être au moins aussi précis qu'il est défini. Cela signifie que la base de données peut stocker plus de chiffres puis spécifié (en raison de la derrière-le-scènes de stockage d'avoir de l'espace pour plus de chiffres). Cela signifie que la base de données peut stocker 1.00005 au lieu de 1.0000, affectant les calculs futurs.

Dans SQL Server Numérique est définie comme étant identique à la Décimale dans tous les sens - à la fois toujours stocker uniquement le nombre de décimales spécifié.

10voto

gbn Points 197263

Ils sont synonymes, aucune différence du tout.

Au moins <strike>sur SQL Server</strike> dans les normes ANSI SQL. Cette réponse SO montre une certaine différence dans ansI, mais je soupçonne dans la mise en œuvre, ils sont les mêmes

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X