Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Benötige ich zum Speichern statistischer Daten DECIMAL, FLOAT oder DOUBLE?

Dieser Link macht einen guten Job zu erklären, was Sie suchen. Hier steht:

Alle diese drei Typen können durch die folgenden Parameter (Größe, d) angegeben werden. Dabei ist size die Gesamtgröße des Strings und d stellt die Genauigkeit dar. Um beispielsweise eine Zahl wie 1234.567 zu speichern, setzen Sie den Datentyp auf DOUBLE(7, 3), wobei 7 die Gesamtzahl der Ziffern und 3 die Anzahl der Ziffern nach dem Dezimalpunkt ist.

FLOAT und DOUBLE, beide repräsentieren Fließkommazahlen. Ein FLOAT steht für Zahlen mit einfacher Genauigkeit, während ein DOUBLE für Zahlen mit doppelter Genauigkeit steht. Eine Genauigkeit von 0 bis 23 ergibt eine 4-Byte-FLOAT-Spalte mit einfacher Genauigkeit. Eine Genauigkeit von 24 bis 53 ergibt eine 8-Byte-DOUBLE-Spalte mit doppelter Genauigkeit. FLOAT ist auf etwa 7 Dezimalstellen genau und DOUBLE auf bis zu 14.

Die Deklaration und Funktionsweise von Decimal ist ähnlich wie bei Double. Aber es gibt einen großen Unterschied zwischen Fließkommawerten und dezimalen (numerischen) Werten. Wir verwenden den DECIMAL-Datentyp, um exakte numerische Werte zu speichern, wobei wir keine Präzision, sondern exakte und genaue Werte wünschen. Ein Decimal-Typ kann maximal 65 Stellen speichern, mit 30 Stellen nach dem Dezimalkomma.

Für den genauesten und präzisesten Wert wäre Decimal also die beste Option.