Sven Rautenberg: MYSQL - FORMAT - Bug?

Beitrag lesen

Moin!

Jetzt seletiere ich über FORMAT(feld, 2)

Es funktioniert bei ca. 90% der Fälle, aber bei einigen Datensätzen rundet er auf 0.00

zB.: wird 0.75 zu 0.00

Jemand eine Idee warum?

Du meinst:
SELECT FORMAT(0.75, 2);
-> 0.00

Abgesehen davon, dass ich leider gerade keine Datenbank zum Ausprobieren zur Hand habe, hätte ich persönlich diese Funktion nicht verwendet, weil sie nur die amerikanische Zahlendarstellung mit einem Punkt als Dezimaltrenner und Kommas als Tausendertrenner kennt (sagt die Doku). Das ist nicht ganz so geeignet im deutschen Sprachraum. Ich würde die Zahlenausgabe nicht im Query formatieren, sondern bei der Ausgabe im Template.

Wenn es dir um das Runden geht: ROUND() existiert und rundet, statt zu formatieren. TRUNCATE() schneidet Stellen ab, ohne zu runden.

http://dev.mysql.com/doc/refman/5.1/de/mathematical-functions.html

- Sven Rautenberg