Rechenoperation erzeugt stets gerundete Werte

Max-Berater

Erfahrenes Mitglied
Ich verzweifele langsam. Ich versuche seid Tagen Werte aus zwei Salten zu addieren. Was ja eigentlich Usus sein sollte.
Jedoch wird der Wert stets gerundet und in die Tabelle geschrieben. Aus 0,41 wird 0,00, was absoluter Murks ist.
Egal was ich versuche es scheitert. Stets der DOUBLE Fehler.


UPDATE tabellen_name
SET spaltenname = spaltenname operator zahl
WHERE where_condition; <--- Optional

Kann mir jemand hier helfen, ich würde gerne endlich dieses "Problem" lösen.

Ich habe es mit VARCHAR, INT, FLOAT etc. versucht. Nix hilft
 
Habe es nochmals versucht - Felder als Float 10,2 deklariert. Aber dennoch werden bei Rechenoperationen die Werte nur gerundet dargestellt.

Selbst wenn ich die Daten von Tabelle a in Tabelle b per instert into 1:1 ohne eine Rechenoperation übertrage, passiert dieses.

SOLL

1603747040490.png
IST
1603747078923.png
 
Argghhhhhh......
Hast du Komma oder Punkt als Dezimal-Separator?
Scheint ein "locale"-Problem zu sein.

Bei dir ist alles auf Deutsch, der Backend steht aber auf Default (=US oder sonst was)
 
Ich denke nicht, dass es am Locale liegt: ich habe noch nicht davon gehört, dass verschiedene Locales per default verschieden viele Nachkommastellen rendern.

Ich verzweifele langsam. Ich versuche seid Tagen Werte aus zwei Salten zu addieren. Was ja eigentlich Usus sein sollte.
Jedoch wird der Wert stets gerundet und in die Tabelle geschrieben. Aus 0,41 wird 0,00, was absoluter Murks ist.
Egal was ich versuche es scheitert. Stets der DOUBLE Fehler.


UPDATE tabellen_name
SET spaltenname = spaltenname operator zahl
WHERE where_condition; <--- Optional

Kann mir jemand hier helfen, ich würde gerne endlich dieses "Problem" lösen.

Ich habe es mit VARCHAR, INT, FLOAT etc. versucht. Nix hilft

Die Spalte muss auf jeden Fall ein FLOAT oder DECIMAL sein.
Achte darauf, dass du den Spaltentypen änderst, dass möglicherweise alle Werte verloren gehen. Verifiziere zuerst nach der Änderung, ob die Spalte auch das enthält, was du denkst.

Dann versuch mal:
SQL:
UPDATE tabellen_name
SET spaltenname = spaltenname + 1.0
WHERE where_condition

Auch könnte PHPMyAdmin hier schuld sein und per default weniger Nachkommastellen rendern. Guck mal in der UI, ob du da irgendwo eine Einstellung findest.
 
Hmmm....stimmt.
Ist HeidiSQL mit MySQL kompatibel?
Falls ja, hätte ich mal mit MySQL Workbench reingeschaut anstatt mit diesem php-dingens
 
Zurück