Die in MySQL unterstützten Gleitkommatypen sind Für Dinge mit höherer Genauigkeit, wie z. B. Geld, wird empfohlen, den Dezimaltyp zu verwenden. Erwägen Sie nicht die Verwendung von Float oder Double, da diese fehleranfällig sind. Numerisch und Dezimal sind synonym und numerisch wird automatisch in Dezimal umgewandelt. DECIMAL wurde in MySQL 5.1 eingeführt. Die Spaltendeklarationssyntax ist DECIMAL(M,D). In MySQL 5.1 ist der Parameterwertebereich wie folgt:
Hinweis: Float belegt 4 Bytes, Double belegt 8 Bytes und Decimail (M, D) belegt M+2 Bytes. Beispielsweise beträgt der Maximalwert von DECIMAL(5,2) 9999,99, da 7 Bytes zur Verfügung stehen. Daher sind M und D die Schlüsselfaktoren, die den Wertebereich von DECIMAL(M, D) beeinflussen. Typ Beschreibung Wertebereich (MySQL < 3.23) Wertebereich (MySQL >= 3.23) DECIMAL(4,1) -9,9 bis 99,9 -999,9 bis 9999,9 DECIMAL(5,1) -99,9 bis 999,9 -9999,9 bis 99999,9 DECIMAL(6,1) -999,9 bis 9999,9 -99999,9 bis 999999,9 DECIMAL(6,2) -99,99 bis 999,99 -9999,99 bis 99999,99 DECIMAL(6,3) -9,999 bis 99,999 -999,999 bis 9999,999 Der Wertebereich für einen bestimmten DECIMAL-Typ hängt von der Version des MySQL-Datentyps ab. Bei Versionen vor MySQL 3.23 belegt jeder Wert einer DECIMAL(M, D)-Spalte M Bytes, und das Vorzeichen (falls erforderlich) und der Dezimalpunkt sind in den M Bytes enthalten. Somit kann eine Spalte vom Typ DECIMAL(5, 2) Werte im Bereich von -9,99 bis 99,99 aufweisen, da sie alle möglichen 5-stelligen Werte abdecken. # In MySQL 3.23 und höher ist der Wertebereich von DECIMAL(M, D) gleich dem Wertebereich von DECIMAL(M + 2, D) in früheren Versionen. abschließend:
JAVA+MySQL+JPA Praxis msyql-Decimal entspricht java-BigDecimal Datentabellendefinition @Juristische Person öffentliche Klasse TestEntity erweitert Model { @Column(nullable = true, Spaltendefinition = "Dezimalzahl(11,2)") öffentlicher BigDecimal-Preis; } Testergebnisse und Erklärung /** * 1.mysql-Decimal(9+2,2) entspricht java-BigDecimal * 2. Der ganzzahlige Teil besteht aus 9 Ziffern, der Dezimalteil aus 2 Ziffern und die Dezimalzahl wird gerundet. * 3. Wenn der teilbare Teil die Grenze von 9 Ziffern überschreitet, wird ein Fehler gemeldet. * 4. Wenn der Dezimalteil die Anzahl der Ziffern überschreitet, wird er gerundet und auf 2 Dezimalstellen gekürzt*/ TestEntity-Entität = neue TestEntity(); entity.price = neuer BigDecimal(Double.toString(123456789.12d)); entity.speichern(); // Die ganze Zahl hat mehr als 9 Ziffern. Entität = neue TestEntity(); entity.price = neues BigDecimal(Double.toString(1234567891.123d)); entity.speichern(); */ Entität = neue TestEntity(); entity.price = neuer BigDecimal(Double.toString(123456789.123d)); entity.speichern(); Entität = neue TestEntity(); entity.price = neues BigDecimal(Double.toString(123456789.126d)); entity.speichern(); Entität = neue TestEntity(); entity.price = neues BigDecimal(Double.toString(123456789d)); entity.speichern(); Entität = neue TestEntity(); entity.price = neuer BigDecimal(Double.toString(123456.2355)); entity.speichern(); Entität = neue TestEntity(); entity.price = neuer BigDecimal(Double.toString(123456.2356)); entity.speichern(); Entität = TestEntity.find("Preis = ?", neues BigDecimal(Double.toString(123456789.12d))).first(); System.out.println("Abfrageergebnisse:" + entity.id + ", " + entity.price); Ergebnisse einfügen
Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Der einfachste Weg, ein Programm beim Start in Linux automatisch auszuführen
>>: Integrierte Objekte, Werttypen und Referenztypen in JavaScript-Objekten erklärt
Vor kurzem musste ich alle Felder einer verknüpft...
Auf Unix-ähnlichen Systemen wissen Sie möglicherw...
Wenn Sie wissen möchten, wie Sie diese Tabelle mi...
Die ersten Computer konnten nur ASCII-Zeichen ver...
1. Python-Installation 1. Erstellen Sie einen Ord...
Inhaltsverzeichnis Vorwort Mischen Mixin-Hinweis ...
1. es-Startbefehl: docker run -itd -e TAKE_FILE_O...
Kaufzertifikat Sie können es beim Cloud Shield Ce...
Bei Diskussionen über Webstandards kommt immer wie...
In den vorherigen Kapiteln haben wir gelernt, wie...
Dieser Artikel erläutert anhand von Beispielen di...
Wenn auf einer Seite mehrere Bilder eingefügt wer...
Was ist Inhaltsüberlauf? Wenn tatsächlich viel Te...
Hier ist ein Beispielcode für die Verwendung regu...
Inhaltsverzeichnis 1. Mathematische Funktionen 2....