Unterschied zwischen DECIMAL und NUMERIC in PSQL

8

Was ist die Verwendung von decimal und numeric Datentyp in postgreSQL? Gemäß der Referenz wird die folgende Erklärung für diese Datentypen gegeben.

%Vor%

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 ...

    
mrg 16.11.2015, 07:46
quelle

3 Antworten

13

Direkt aus dem Handbuch:

  

Die Typen decimal und numeric 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

    
a_horse_with_no_name 16.11.2015 07:48
quelle
2

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%
    
geoyws 26.04.2017 03:25
quelle
1

Sie sind das Synonym für einander und funktional gleich. Der Standard SQL: 2003 lautet:

%Vor%     
Rahul Tripathi 16.11.2015 07:53
quelle

Tags und Links