PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Unterschied zwischen den Datentypen DECIMAL und NUMERIC in PSQL

Direkt aus dem Handbuch:

Die Typen decimal und numeric sind gleichwertig. Beide Typen sind Teil des SQL-Standards.

Das "Warum muss ich es verwenden" wird auch im Handbuch erklärt:

Der Typ numeric kann Zahlen mit sehr vielen Stellen speichern und Rechnungen exakt durchführen

(Hervorhebung von mir).

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 Integer-Typs wäre z. eine Spalte, die speichert, wie viele Produkte bestellt wurden (vorausgesetzt, Sie können nicht "halbe" Produkte bestellen).

double und real sind auch Typen, die Dezimalwerte speichern können, aber sie sind ungefähr Typen. Das bedeutet, dass Sie nicht unbedingt den gespeicherten Wert abrufen. Einzelheiten finden Sie unter:http://floating-point-gui.de/