Heim >Datenbank >MySQL-Tutorial >Welcher Typ ist Dezimalzahl?

Welcher Typ ist Dezimalzahl?

青灯夜游
青灯夜游Original
2021-03-18 16:03:0573486Durchsuche

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.

Welcher Typ ist Dezimalzahl?

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)

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,99

DEZIMAL(6,3) -9,999 bis 99,999 -999,999 bis 9999,999

(empfohlenes Tutorial:

MySQL-Video-Tutorial

)

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.

# In MySQL 3.23 und späteren Versionen entspricht der Wertebereich von DECIMAL(M, D) dem Wertebereich von DECIMAL(M + 2, D) in früheren Versionen.

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:

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!

Stellungnahme:
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