Was ist die Verwendung von decimal
und numeric
Datentyp in postgreSQL? Gemäß der Referenz wird die folgende Erklärung für diese Datentypen gegeben.
Die obige Anweisung zeigt die Beschreibung von decimal
und numeric
datentyp. Aber ich habe immer noch nicht verstanden, was das ist
genaue Verwendung dieses Datentyps und wo er anstelle anderer Datentypen verwendet wird.
Antwort mit Beispiel wird sehr geschätzt ...
Die Typen
decimal
undnumeric
sind gleichwertig. Beide Typen sind Teil des SQL-Standards.
Was das "Warum muss ich es benutzen" betrifft, wird dies auch im Handbuch erklärt:
Der Typ numerisch kann Zahlen mit sehr vielen Ziffern speichern und Berechnungen genau durchführen
(Betonung meiner).
Wenn Sie Zahlen mit Dezimalstellen benötigen, verwenden Sie decimal
(oder numeric
), wenn Sie Zahlen ohne Dezimalstellen benötigen, verwenden Sie integer
oder bigint
. Eine typische Verwendung von decimal
als Spaltentyp wäre eine "Produktpreis" -Spalte oder ein "Zinssatz". Eine typische Verwendung eines ganzzahligen Typs wäre z.B. eine Spalte, die speichert, wie viele Produkte bestellt wurden (vorausgesetzt, Sie können nicht "die Hälfte" eines Produkts bestellen).
double
und real
sind ebenfalls Typen, die Dezimalwerte speichern können, aber sie sind ungefähre -Typen. Dies bedeutet, dass Sie den von Ihnen gespeicherten Wert nicht unbedingt abrufen müssen. Für Details siehe: Zypern
Zitiert direkt aus Ссылка
Es gibt keinen Unterschied in Postgres. Es gibt zwei Arten von Namen weil der SQL-Standard erfordert, dass wir beide Namen akzeptieren. In einer schnellen Im Standard sieht es so aus, dass der einzige Unterschied darin besteht:
%Vor%dh für DECIMAL darf die Implementierung mehr Ziffern zulassen als auf der linken Seite des Dezimalpunkts angefordert. Postgres nicht üben Sie diese Freiheit aus, also gibt es keinen Unterschied zwischen diesen Typen uns.
%Vor%
Sie sind das Synonym für einander und funktional gleich. Der Standard SQL: 2003 lautet:
%Vor%Tags und Links postgresql rdbms sqldatatypes