Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Ist NUMBER und NUMBER(*,0) in Oracle gleich?

Ich denke, der Satz in der Dokumentation

ist etwas verwirrend. Der Maßstab ist null wenn eine Genauigkeit angegeben ist und kein Maßstab angegeben ist . Also zum Beispiel NUMBER(19) entspricht NUMBER(19,0) . NUMBER , allein, hat eine Genauigkeit von 38 Stellen aber keine definierte Skala . Also eine als NUMBER definierte Spalte kann Werte von beliebigen akzeptieren Maßstab, solange ihre Genauigkeit 38 Stellen oder weniger beträgt (im Grunde 38 numerische Stellen mit einem Dezimalpunkt an beliebiger Stelle).

Sie können auch eine Skala ohne Genauigkeit angeben:NUMBER(*, <scale>) , aber das erstellt die Spalte nur mit 38 Stellen Genauigkeit, also bin ich mir nicht sicher, ob es besonders nützlich ist.

Die Tabelle Wie Skalierungsfaktoren die numerische Datenspeicherung beeinflussen auf dieser Seite könnte hilfreich sein.