Erstens: Ich bin ein MySql-Neuling und es sieht so aus, als ob ich hier etwas Wichtiges verpasse.MySQL (MariaDB) Float-Visualisierung: Warum sind Werte auf Hunderte oder Tausende gerundet?
In einer MySQL-Datenbank reichen meine Float-Werte von Einheiten bis Milliarden. Ich verbrachte Tage damit, zu verstehen, warum alle von ihnen nicht zeigten mehr als 6 signifikante Stellen mit den weniger signifikant denjenigen auf 0:
dh:
select `field` from `table`;
(instead of X -> i get Y)
1 -> 1
12 -> 12
123 -> 123
1234 -> 1234
12345 -> 12345
123456 -> 123456
1234567 -> 1234570
12345678 -> 12345700
123456789 -> 123457000
Nur mit einem „Trick“ fand ich irgendwo I könnte die reellen Werte lesen:
Meine Fragen: Was ist der Grund für dieses seltsame Verhalten (imho)? und wo ist es in der Dokumentation beschrieben? Ich finde völlig nicht intuitiv, dass ich den echten Wert (natürlich nach IEEE-Spezifikationen angenähert) nicht mit der normalen Auswahl * sehe, aber ich brauche den Trick ... Was fehlt mir hier?
Könnten Sie bitte eine [mcve], z. Kopieren/Einfügen einer kompletten MySQL-Sitzung von der Tabellenerstellung bis zur Datenauswahl? Vielleicht demonstrieren Sie sogar mit einem [sqlfiddle] (http://sqlfiddle.com), ob die Ausgabeformatierung es erlaubt, dieses Problem zu demonstrieren? – eggyal
@eggyal, hier ist das minimale Beispiel: http://sqlfiddle.com/#!9/352bf/1/0 Ab ID6 wird das Ergebnis auf 6 sinnvolle Ziffern gerundet. Das Problem ist, dass ich mit "select *" standardmäßig den gerundeten Wert sehen werde, nicht den echten ... Ich nehme an, es gibt einen Befehl, um die db so einzustellen, dass sie den "echten" Wert verwendet, aber nicht verstehen kann Was ist der Grund für diese seltsame Entwicklerwahl? –
Gerade versucht auf SQLfiddle: mit _double_ statt _float_ funktioniert perfekt. –