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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top