In diesem Artikel wird diskutiert, was und wie die numerischen und Dezimalarten verwendet werden. Wir werden auch die Unterschiede zwischen den beiden in Standard -SQL beschriebenen Typen untersuchen.
Numerisch in Standard -SQL
Wenn Sie einen numerischen Wert in Standard -SQL definieren, geben Sie zwei Hauptargumente an: Präzision und Skala.
Die Syntax ist wie unten gezeigt:
Numerisch (Präzision, Skala)Die Genauigkeit bestimmt die maximale Anzahl von Ziffern, die ein Wert haben kann. (einschließlich der Dezimalpunkte). Andererseits legt die Skala die maximale Anzahl der Ziffern nach den Dezimalpunkten fest.
Zum Beispiel, wenn der Wert 3 beträgt.14159 ist die Präzision 6 mit einer Skala von 5
In Standard -SQL kann ein Numeriker Werte im Bereich von -10^38+1 bis 10^38 speichern
Daher beträgt der Präzisionswert für einen numerischen Typ 38. Sofern nicht ausdrücklich angegeben, stand SQL jedoch in einem Genauigkeitswert von 18 standardmäßig.
Der Standard -Skalierungswert beträgt 0. Der Skalenparameter kann nur angegeben werden, wenn der Präzisionsparameter enthalten ist.
Decimal in Standard SQL
Es gibt keinen großen Unterschied in der Definition des Dezimal- und numerischen Typs im Standard. Die Syntax für Dezimaldefinition ist wie unten gezeigt:
Dezimaler (Präzision, Skala)Wie ein numerischer Typ kann ein Dezimalwerte Werte von -10^38+1 bis 10^38 speichern.
Unterschied zwischen numerischen vs. Dezimal
Okay, wenn sowohl numerische als auch Dezimalarten die gleiche Erklärung und denselben Bereich teilen, was ist der Unterschied, was ist der Unterschied?
Die Differenz liegt darin, wie beide Typen mit dem Präzisionswert umgehen.
Bei numerischen Typen wird der Präzisionswert festgelegt. Dies bedeutet, dass Sie den Präzisionswert nicht überschreiten können.
In Dezimalstellen hingegen können Sie den Präzisionswert überschreiten. Dies bietet Flexibilität in der Gesamtzahl der Werte, die Sie speichern können.
Zum Beispiel, wenn Sie eine Dezimalzahl als:
Dezimaler (10, 5)Es bedeutet, dass Sie mehr als zehn Werte haben können
Ja, das ist der einzige Unterschied.
Numerisch und dezimal in anderen SQL -Motoren
Wie wir bereits erwähnt haben, liefern verschiedene Datenbankmotoren Variationen vom ANSI -Standard SQL. Im Folgenden gelten diese Änderungen für numerische und dezimale Typen.
Mysql
In MySQL wird der numerische Typ als Dezimalheit implementiert. Dies beseitigt die Notwendigkeit, sich um die Präzision und den Maßstab zu sorgen.
PostgreSQL
Auf der anderen Seite bewahrt PostgreSQL die Funktionalität und den Unterschied zwischen numerisch und dezimal, wie in Standard -SQL angegeben.
SQL Server
In SQL Server sind sowohl Dezimal- als auch numerische Grundsätze im Grunde genommen ähnlich. Darüber hinaus behandelt SQL Server eine Dezimalzahl als Synonym für numerisch. Daher können Sie beide Typen austauschbar verwenden.
Weitere Informationen finden Sie in der Ressource unten:
https: // docs.Microsoft.com/en-us/sql/t-sql/datentypes/dezimal- und numerische transact-sql?View = SQL-Server-VER15
BigQuery
In BigQuery wird ein Ziffern als Alias zum Dezimalart behandelt.
Orakel
In Oracle -Datenbanken sind Dezimal- und Numerische unterschiedlich. Zum Beispiel kann eine Dezimalzahl in Oracle bis zu 15 erhebliche Zahlen halten. Andererseits kann ein Ziffern bis zu 38 signifikante Ziffern halten.
NOTIZ: Numerisch in Oracle wird in die Nummer umbenannt.
Abschluss
Dieser Artikel beschreibt den Unterschied zwischen einem Dezimal- und numerischen Datentyp, wie in Standard -SQL und anderen Datenbankmotoren definiert.
Wie immer danke fürs Lesen!