quel est le differece entre un type de serveur SQL de:différence entre flotteur et [numérique] (18, 10)
flotteur et [numérique] (18, 10)
quel est le differece entre un type de serveur SQL de:différence entre flotteur et [numérique] (18, 10)
flotteur et [numérique] (18, 10)
numérique est une décimale (base- 10) type de données à virgule fixe; float est un type de données à virgule flottante binaire (base-2).
Une valeur numérique [18,10] définit une décimale avec précision (nombre total maximal de chiffres décimaux pouvant être stockés, à la fois à gauche et à droite de la virgule décimale) 18 et échelle (nombre maximal de chiffres décimaux qui peut être stocké à la droite de la virgule décimale) 10. Il consomme 9 octets de stockage à 8 octets par défaut d'un flotteur. Il s'agit d'un starting point for more reading.
FLOAT
est conforme à IEEE 754
et se rapproche de la représentation décimale.
NUMERIC
est exacte en représentation décimale (jusqu'à la précision déclarée).
SELECT CAST(PI() AS FLOAT),
CAST(PI() AS NUMERIC(20, 18)),
CAST(PI() AS NUMERIC(5, 3))
---------------------- --------------------------------------- ---------------------------------------
3,14159265358979 3.141592653589793100 3.142
La précision n'est approximative que lorsqu'elle est mesurée à la décimale. C'est exact en bits. –
donc pour $, le flotteur est bien non? – mrblah
@mrblah si vos flotteurs sont petits. –
float
est defined comme un nombre binaire à virgule flottante.
Il est beaucoup plus efficace de travailler avec les ordinateurs binaires que les nombres décimaux à virgule flottante (en fait, la plupart des opérations mathématiques sur les flottants sont implémentées dans le matériel) et peuvent être très précises. Cependant, étant donné que la précision est mesurée en bits, et non en décimales, float
s ne sont pas idéales pour une utilisation avec des algorithmes qui dépendent de la représentation décimale d'un nombre (par exemple des applications financières).
Quelques bonnes références sont Wikipedia's page on IEEE 754 (la norme à virgule flottante) et l'article ACM de David Goldberg What Every Computer Scientist Should Know About Floating-Point Arithmetic.
Numérique est un type à virgule fixe et non un type à virgule flottante. –
@Thom - vous avez raison. Merci. –