Ich weiß nicht, wie ich es am besten aufbewahren soll - aber es gibt zumindest eine bessere Option als die Verwendung von varchar(39)
(oder varchar(40)
wenn Sie es signieren mussten); Verwenden Sie stattdessen a decimal(39,0)
. Aus den MySQL-Dokumenten :
Festkommatypen (exakter Wert)
Die Typen DECIMAL und NUMERIC speichern genaue numerische Datenwerte. Diese Typen werden verwendet, wenn es wichtig ist, eine genaue Genauigkeit zu gewährleisten, beispielsweise bei Währungsdaten. In MySQL ist NUMERIC als DECIMAL implementiert, daher gelten die folgenden Bemerkungen zu DECIMAL gleichermaßen für NUMERIC.
MySQL 5.1 speichert DECIMAL-Werte im Binärformat. Vor MySQL 5.0.3 wurden sie als Zeichenfolgen gespeichert. Siehe auch Abschnitt 11.18, „Präzisionsmathematik“.
In einer DECIMAL-Spaltendeklaration können (und werden normalerweise) die Genauigkeit und der Maßstab angegeben. beispielsweise:
salary DECIMAL(5,2)
In diesem Beispiel ist 5 die Genauigkeit und 2 die Skala. Die Genauigkeit gibt die Anzahl der signifikanten Stellen an, die für Werte gespeichert werden, und die Skala gibt die Anzahl der Stellen an, die nach dem Dezimalpunkt gespeichert werden können.
Standard-SQL erfordert, dass DECIMAL (5,2) einen beliebigen Wert mit fünf Stellen und zwei Dezimalstellen speichern kann. Werte, die in der Gehaltsspalte gespeichert werden können, reichen von -999,99 bis 999,99.
In Standard-SQL entspricht die Syntax DECIMAL (M) DECIMAL (M, 0). In ähnlicher Weise entspricht die Syntax DECIMAL DECIMAL (M, 0), wobei die Implementierung den Wert von M bestimmen darf. MySQL unterstützt beide Varianten der DECIMAL-Syntax. Der Standardwert von M ist 10.
Wenn die Skala 0 ist, enthalten die DECIMAL-Werte keinen Dezimalpunkt oder Bruchteil.
Die maximale Anzahl von Stellen für DECIMAL beträgt 65. Der tatsächliche Bereich für eine bestimmte DECIMAL-Spalte kann jedoch durch die Genauigkeit oder Skalierung für eine bestimmte Spalte eingeschränkt werden. Wenn einer solchen Spalte ein Wert mit mehr Nachkommastellen zugewiesen wird, als die angegebene Skala zulässt, wird der Wert in diese Skala konvertiert. (Das genaue Verhalten ist betriebssystemspezifisch, im Allgemeinen wird es jedoch auf die zulässige Anzahl von Stellen gekürzt.)