Combien de chiffres peuvent être stockés pour un numéro dans SQL Server 2005?
-
03-07-2019 - |
Question
J'ai un numéro d'une base de données Oracle 47306832975095894070.85314746810624532. Lorsque je l'apporte dans SQL Server, il ne montre certainement pas autant de chiffres. Il indique 4.73068329750959E + 19 et le champ est défini sur FLOAT.
Je pense que cela inclut probablement tous les chiffres significatifs, mais on me demande si le nombre peut être stocké exactement comme Oracle. Y at-il un autre type de données qui stockera TOUS les chiffres? Existe-t-il un moyen dans SQL Server 2005 d’afficher le nombre non exponentiel, mais de montrer tous les chiffres stockés?
La solution
L’équivalent de NUMBER (p, s) sur SQL Server est le numérique type de données (p, s) . Notez que les valeurs par défaut pour p (précision) et s (échelle) ne sont pas les mêmes sur les deux plates-formes.
Sur SQL Server, un float représente un nombre à virgule flottante complètement différent, représentation approximative d'un nombre. Sur Oracle, l'équivalent serait BINARY_DOUBLE .
Autres conseils
Utilisez le type de données décimal. décimal (p, s) - p est une valeur de précision, s est une valeur d'échelle.
au lieu de float, utilisez Decimal (38,17). Cela devrait vous permettre de stocker le nombre avec la même précision que dans Oracle.