Decimal ist ein präziser Datentyp, der in MySQL existiert, mit dem Syntaxformat „DECIMAL(M,D)“. Darunter ist M die maximale Anzahl von Zahlen (Genauigkeit) und ihr Bereich liegt zwischen „1 und 65“, und der Standardwert ist 10; Der Bereich liegt bei „0 bis 30“, darf aber nicht größer als M sein.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.
Die in MySQL unterstützten Gleitkommazahlentypen sind FLOAT, DOUBLE und DECIMAL. Der Typ DECIMAL unterscheidet sich von FLOAT und DOUBLE wird tatsächlich als Zeichenfolge gespeichert. Der maximal mögliche Wertebereich von DECIMAL ist derselbe wie der von DOUBLE, sein effektiver Wertebereich wird jedoch durch die Werte von M und D bestimmt. Wenn M geändert wird und D fest ist, wird sein Wertebereich größer, wenn M größer wird.
Für Dinge mit relativ hoher Genauigkeit, wie z. B. Geld, wird empfohlen, den Typ „Dezimal“ nicht zu verwenden, da sie fehleranfällig sind und Numerisch in Dezimal umgewandelt werden .
DECIMAL wurde ab 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) 9999,99, da 7 Bytes verfügbar sind.
M und D sind also der Schlüssel zur Beeinflussung des Wertebereichs von DECIMAL(M, D)
gegeben DECIMAL Der Wertebereich des Typs hängt von MySQL ab Die Version des Datentyps. Bei Versionen vor MySQL3.23 belegt jeder Wert der Spalte DECIMAL(M, D) M Bytes, und das Vorzeichen (falls erforderlich) und der Dezimalpunkt sind in den M Bytes enthalten. Daher haben Spalten vom Typ DECIMAL(5, 2) Werte im Bereich von -9,99 bis 99,99, da sie alle möglichen 5-Zeichen-Werte abdecken. Fazit: Wenn der Wert innerhalb seines Wertebereichs liegt und zu viele Dezimalstellen vorhanden sind, werden die Dezimalstellen direkt abgeschnitten. Wenn der Wert außerhalb seines Wertebereichs liegt, füllen Sie ihn mit dem größten (kleinsten) Wert. Weitere Kenntnisse zum Thema Programmierung finden Sie unter:Typbeschreibung Wertebereich (MySQL < 3.23) Wertebereich (MySQL >= 3.23)
DECIMAL(4,1 ) –9,9 bis 99,9 –999,9 bis 9999,9
DEC IMAL(6,2) - 99,99 bis 999,99 -9999,99 bis 99999,99DEZIMAL(6,3) -9,999 bis 99,999 -999,999 bis 9999,999(empfohlenes Tutorial:
MySQL-Video-Tutorial)
Programmiervideos
! !Das obige ist der detaillierte Inhalt vonWelcher Typ ist Dezimalzahl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!