SQL Numeric vs. Dezimal

SQL Numeric vs. Dezimal
Obwohl es in einigen SQL -Motoren keinen Unterschied zwischen numerischen und dezimalen Datentypen gibt, bietet Standard -SQL Variationen zwischen den beiden Typen.

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!