Heim > Datenbank > MySQL-Tutorial > Welcher Typ wird für Beträge in MySQL verwendet?

Welcher Typ wird für Beträge in MySQL verwendet?

青灯夜游
Freigeben: 2022-06-14 15:22:04
Original
16176 Leute haben es durchsucht

In MySQL verwendet der Betrag den Typ „DECIMAL“. Der Typ DECIMAL ist ein Datentyp, der speziell für finanzielle Probleme entwickelt wurde. Er kann das Problem der Datenreichweite und -genauigkeit lösen. Er wird häufig für die tatsächliche Speicherung von Gelddaten wie Preisen, Löhnen und Kontoständen verwendet in Form einer Zeichenfolge. Die Anzahl der Ziffern im Ganzzahlteil und im Dezimalteil kann bei der Definition abgegrenzt werden. Die Syntax ist „DECIMAL(M,D)“. und der Parameter D ist die Anzahl der Stellen rechts vom Dezimalpunkt (Skala).

Welcher Typ wird für Beträge in MySQL verwendet?

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

In MySQL verwendet der Betrag den Typ „DECIMAL“.

Dezimal (Festkommazahl) ist ein Datentyp, der speziell für finanzielle Probleme entwickelt wurde und das Problem der Datenreichweite und -genauigkeit lösen kann.

DECIMAL wurde mit MySQL 5.1 eingeführt und die Syntax der Spaltendeklaration lautet DECIMAL(M,D). In MySQL 5.1 ist der Wertebereich der Parameter wie folgt:

  • M ist die maximale Anzahl von Zahlen (Genauigkeit). Sein Bereich liegt zwischen 1 und 65 (in älteren MySQL-Versionen liegt der zulässige Bereich zwischen 1 und 254), und der Standardwert von M ist 10.

  • D ist die Anzahl der Stellen rechts vom Dezimalpunkt (Skala). Der Bereich liegt zwischen 0 und 30, darf jedoch M nicht überschreiten.

Erklärung: float belegt 4 Bytes, double belegt 8 Bytes und decimail(M,D) belegt M+2 Bytes.

Zum Beispiel beträgt der Maximalwert von DECIMAL(5,2) 9 9 9 9 , da 7 Bytes verfügbar sind. Der Typ DECIMAL unterscheidet sich von FLOAT und DOUBLE. DOUBLE wird tatsächlich in Form einer Zeichenfolge gespeichert. Der maximal mögliche Wertebereich von DECIMAL ist der gleiche wie der von DOUBLE, der effektive Wertebereich wird jedoch durch M und D bestimmt. Wenn M geändert und D festgelegt wird, wird der Wertebereich größer, wenn M größer wird.

Ich möchte betonen:

In MySQL werden Festkommazahlen in Form von Zeichenfolgen gespeichert. Wenn die Genauigkeitsanforderungen relativ hoch sind (z. B. Währung, wissenschaftliche Daten), ist es besser, DECIMAL zu verwenden Typ, und die anderen beiden Gleitkommazahlen werden ebenfalls verwendet Subtraktions- und Vergleichsoperationen sind ebenfalls problematisch, daher müssen Sie bei der Verwendung von Gleitkommazahlen vorsichtig sein und versuchen, Gleitkommavergleiche zu vermeiden. MySQL-Datentyp DECIMAL und monetäre Daten

Wir verwenden häufig den Datentyp DECIMAL für monetäre Daten wie Preise, Gehälter, Kontostände usw. Wenn Sie eine Datenbank entwerfen, die Gelddaten verarbeitet, sollte die folgende Syntax in Ordnung sein.

amount DECIMAL(19,2);
Nach dem Login kopieren

Wenn Sie jedoch die Regeln der allgemein anerkannten Rechnungslegungsgrundsätze (GAAP) einhalten möchten, muss die Währungsspalte mindestens 4 Dezimalstellen enthalten, um sicherzustellen, dass der gerundete Wert 0,01 USD nicht überschreitet. In diesem Fall sollten Sie eine Spalte mit 4 Dezimalstellen wie folgt definieren:

amount DECIMAL(19,4);
Nach dem Login kopieren

Beispiel für den Datentyp MySQL DECIMAL

Erstellen Sie zunächst eine neue Tabelle mit dem Namen „Materialien“ mit drei Feldern: ID, Beschreibung und Kosten.

CREATE TABLE materials (
    id INT AUTO_INCREMENT PRIMARY KEY,
    description VARCHAR(255),
    cost DECIMAL(19 , 4 ) NOT NULL
);
Nach dem Login kopieren

Zweitens fügen Sie die Daten in die Materialtabelle ein.

INSERT INTO materials(description,cost)
VALUES('Bicycle', 500.34),('Seat',10.23),('Break',5.21);
Nach dem Login kopieren

Drittens fragen Sie Datenmaterialien aus der Tabelle ab.

SELECT 
    *
FROM
    materials;
Nach dem Login kopieren
Nach dem Login kopieren

Viertens ändern Sie die Kostenspalte so, dass sie das ZEROFILL-Attribut enthält. Welcher Typ wird für Beträge in MySQL verwendet?

ALTER TABLE materials
MODIFY cost DECIMAL(19,4) zerofill;
Nach dem Login kopieren

Fünf: Überprüfen Sie noch einmal die Materialliste.

SELECT 
    *
FROM
    materials;
Nach dem Login kopieren
Nach dem Login kopieren

Wie Sie sehen können, haben wir viele Nullauffüllungen im Ausgabewert. Welcher Typ wird für Beträge in MySQL verwendet?

【Verwandte Empfehlung:

MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWelcher Typ wird für Beträge in MySQL verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage