Frage

Ich habe eine Reihe von einer Oracle-Datenbank von 47306832975095894070,85314746810624532. Wenn ich es in SQL Server bringen, natürlich zeigt es nicht, dass viele Ziffern. Es zeigt, wie 4.73068329750959E + 19, und das Feld wird als FLOAT definiert.

ich denke, dass wahrscheinlich alle signifikanten Stellen enthält, aber ich gefragt, ob die Nummer gespeichert werden kann, genau wie Oracle hatte. Gibt es einen anderen Datentyp, der alle Ziffern gespeichert werden? Gibt es eine Möglichkeit in SQL Server 2005 die Zahl nicht in der exponentiellen anzuzeigen, zeigen aber alle gespeicherten Ziffern?

War es hilfreich?

Lösung

Das Äquivalent der NUMBER (p, s) Oracle-Datentyp auf SQL Server ist die numerische (p, s) Datentyp. Beachten Sie, dass die Standardwerte für p (Präzision) und s (Skala) ist nicht das gleiche auf beiden Plattformen.

auf dem SQL Server, ein schweben stellt eine Gleitkommazahl, die eine ganz andere, ungefähre Darstellung einer Zahl. Auf Oracle, wäre das Äquivalent BINARY_DOUBLE sein .

Andere Tipps

Dezimal-Datentyp verwenden. dezimal (p, s.) - p ein Genauigkeitswert ist, s ist ein Skalenwert

anstelle von float, verwenden Dezimal (38,17). Auf diese Weise können Sie die Nummer mit der gleichen Präzision speichern, die Sie in Oracle hatte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top