Frage Als ich heute eine Projektfunktion schrieb, musste ich eine statistische Berechnung des Geldbetrags durchführen und dann die Einheiten umrechnen. Also schrieb ich eine Anweisung ähnlich der folgenden Funktion, aber die Daten, die ich erhielt, hatten 4 Dezimalstellen, und normalerweise benötigen wir nur 2 Stellen. Suche weiter nach Daten und führe eine Präzisionskonvertierung durch. Nach einer Weile bin ich mit den Daten nicht zufrieden. Teste weiter prüfen Beim Testen auf Fehler und unbekannte Situationen müssen wir die Reproduktion minimieren, den Test rationalisieren und verhindern, dass andere Anweisungen die Ergebnisse beeinträchtigen.
Es läuft auf 3/4 Geräten und die Ergebnisse sind in Umgebungen mit unterschiedlichen MySQL-Versionen dieselben. Wir wissen also, dass in MySQL Multiplikation und Division nach dem Komma unterschiedliche Genauigkeiten haben. Da ich in den inländischen Foren keine passenden Informationen finden konnte, suchte ich in ausländischen Foren, um danach zu suchen, Fragen zu stellen und zu kommunizieren. Antwort Zunächst einmal möchte ich mich bei den anderen Senioren für ihre Antworten und Ratschläge bedanken. Wir werden auch die Fehlerbehebung des Problems so detailliert wie möglich dokumentieren. Zivilisationen überleben, weil sie ein Gedächtnis haben. Ich hoffe, dieser Artikel kann mehr Freunden helfen.
prüfen
Im Einklang mit der Schlussfolgerung der Berufung. Wir danken den ausländischen Senioren für ihre Anleitung. Bei der Division wird eine Genauigkeit von 2 Ziffern verwendet Wenn wir zur Lösung unseres Problems unbedingt die Division verwenden möchten, können wir die Genauigkeit mithilfe einer Funktion umrechnen.
Sie können die Parameter von DECIMAL auf Baidu nachschlagen. Im Grunde kann das jeder verstehen, der schon einmal eine Tabellenstruktur erstellt hat. @x und @y sind Divisor und Dividende. Gleichzeitig habe ich mich auch gefragt, ob es möglich ist, die Standarddivisionsgenauigkeit in MySQL festzulegen, sodass wir nicht jedes Mal Funktionsberechnungen in SQL verwenden müssen. Antwort des Seniors: Wenn Sie nicht möchten, dass manchmal unerwartete Situationen auftreten, müssen Sie jedes Mal eine Typkonvertierung erzwingen. MySQL-bezogene Dokumentation https://dev.mysql.com/doc/refman/8.0/en/arithmetic-functions.html
Präzisionsregeln für die Division Aus der oben zitierten Literatur wissen wir, dass bei der Berechnung mit zwei Zahlen die Genauigkeit des Ergebnisses durch die Genauigkeit des ersten Operanden + den Wert der Systemvariable div_precision_increment bestimmt wird. Beispielsweise ist die Genauigkeit von 1 in unserem Beispiel 0, und die Systemvariable precision beträgt standardmäßig 4 Ziffern, sodass das Ergebnis eine Genauigkeit von 4 Ziffern aufweist.
Daher können wir auch die Standardgenauigkeit der Division ändern, indem wir die Standardvariablen modifizieren. Jetzt testen wir
Zusammenfassen Dies ist das Ende dieses Artikels über die inkonsistente Genauigkeit von MySQL-Multiplikation und -Division und vier Dezimalstellen nach der Division. Weitere relevante Inhalte zur Genauigkeit von MySQL-Multiplikation und -Division finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung der Nginx-Statusüberwachung und Protokollanalyse
>>: Lösung für das Problem des Sitzungsfehlers, der durch den Nginx-Reverse-Proxy verursacht wird
CSS-Layout – Positionseigenschaft Das Positionsat...
Build deaktivieren Partitionsausdrücke unterstütz...
brauchen Unabhängig davon, ob es sich um ein Wind...
Wirkung: Ideen: Verwenden Sie das Eingabetypattri...
Unter LINUX werden periodische Aufgaben normalerw...
Verwandter Artikel: Anfänger lernen einige HTML-Ta...
Wenn dieselbe Funktion und derselbe HTML-Code meh...
Das Einrichten des Fernzugriffs in mysql5.7 funkt...
stat-Funktion und stat-Befehl Erklärung von [inod...
Unten sehen Sie den Code, den Shiji Tiancheng ver...
Wenn das Softwarepaket nicht vorhanden ist, kann ...
Inhaltsverzeichnis 1. Veranstaltungsdelegation Er...
Das Datenbankverwaltungssystem MariaDB ist ein Zw...
In diesem Artikelbeispiel wird der spezifische Co...
Vorwort Beim Teilen einer Seite hoffen Sie, durch...